Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 2

Модерирует : KLASS, IFkO

vu1tur (27-04-2007 11:55): продолжаем в теме «Задачи на bat-файлах 3»  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

vu1tur



Moderator-Saaber
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Задачи на bat-файлах (часть 1)
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки
 
Полезные утилиты
 
Готовые решения и частые вопросы:
  • Встроенный справочник по командам
  • Создание помощи по всем командам консоли 2000 и XP
  • Альтернативные решения »
  • Работа с текстом, датой, и файлами »
  • Администрирование, автоматизация и сеть »
  • Работа с переменными и параметрами ком. строки »
     
    Описания работы команд и символов участниками темы:
    · setlocal enabledelayedexpansion и переменные окружения
    · символы & и && в командной строке
    · Переменная %0
     
    Невозможности — что нельзя сделать с помощью командных файлов:
    · изменть конфигурацию IP на удаленной машине (без помощи rcmd.exe) [добавил ALEF]
     
    Старая версия первого сообщения

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 16:59 14-11-2006 | Исправлено: Elroir, 04:30 26-04-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka

    Цитата:
    разобрался, как я понял, в последний раз :Factorial вызывается с параметром %1=1, но из-за того, что функция не доходит до конца, а прерывается по условию, значением %1 остаётся прошлый удачный вызов %1=2, вот только почему все вызовы функции сохраняются и подсчитываются, происходит что-то вроде счётчика?

    Неправильно понял
    Скачай картинку и проследи за стрелками.

    1.Вызывается виртуальный батник :Factorial, с аргументом 5 (назовем его Fact5). Переменная Result не существует.
    2.Вызывается виртуальный батник :Factorial, с аргументом 4 (назовем его Fact4). Переменная Result не существует.
    3.Вызывается виртуальный батник :Factorial, с аргументом 3 (назовем его Fact3). Переменная Result не существует.
    4.Вызывается виртуальный батник :Factorial, с аргументом 2 (назовем его Fact2). Переменная Result не существует.
    5.Вызывается виртуальный батник :Factorial, с аргументом 1 (назовем его Fact1). Переменная Result не существует.
    6.Fact1 отработал – переменная Result равна 1. Возвращаемся в Fact2.
    7.Fact2 отработал - переменная Result равна 2*1=2. Возвращаемся в Fact3.
    8.Fact3 отработал - переменная Result равна 3*2=6. Возвращаемся в Fact4.
    9.Fact4 отработал - переменная Result равна 4*6=24. Возвращаемся в Fact5.
    10.Fact5 отработал - переменная Result равна 5*24=120. Возвращаемся в Fact.cmd.

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:11 19-04-2007 | Исправлено: Elroir, 14:12 19-04-2007
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Небольшой вопросик, не подбросит ли кто-нибудь конвертор Unicode<=>Win, я обычно пользовался
    Type Unicode.txt > Win.txt
    cmd /u /c Type Win.txt > Unicode.txt
    но иногда это почему-то нормально не работает.
     
     
    Добавлено:
    Elroir
    Факториал - это хорошо.
    А как решить такую задачу - аналог команды dir с ключом /s не используя for с ключом /r ?  

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 14:12 19-04-2007
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    Крутая картинка! Тут даже я начал чего-то понимать Спасибо.

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 15:37 19-04-2007
    nail_abd



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    как с помощью батника сделать резервную копию папки на другой машине?

    Всего записей: 32 | Зарегистр. 22-02-2007 | Отправлено: 15:41 19-04-2007
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    nail_abd

    Код:
     
    @Echo off
    Copy C:\MyFolder  \\Computer1\C\MyFolder
     

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 15:52 19-04-2007 | Исправлено: Maza Faka, 15:53 19-04-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    nail_abd

    Код:
     
    @Echo Off
    Copy \\Comp2\Folder\*.* C:\Copy\Comp2\Folder
     

    Пример очень простой, но по твоему вопросу не понятно что именно нужно

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:52 19-04-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Tipulatoid

    Цитата:
    Крутая картинка!

    Спасибо! Я старался
     
    NIKZZZZ

    Цитата:
    А как решить такую задачу - аналог команды dir с ключом /s не используя for с ключом /r ?

    Использовать "for /f" и "dir" без ключа "/s" можно?
    Кстати, а зачем?

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 16:19 19-04-2007
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir

    Цитата:
    Использовать "for /f" и "dir" без ключа "/s" можно?
    Кстати, а зачем?

    В качестве примера использования рекурсии в bat файлах.
     
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 17:36 19-04-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ

    Цитата:
    В качестве примера использования рекурсии в bat файлах.

    Пожалуйста :-) :

    Код:
     
    @echo off
    if "%1"=="" (call :process "%cd%") else (call :process "%~f1")
    goto :EOF
    :process
    pushd %1  
    dir
    for /f "tokens=* delims=" %%a in ('dir %1 /b /ad') do call :process "%%~fa"
    popd
     

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 18:54 19-04-2007 | Исправлено: Elroir, 18:54 19-04-2007
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Elroir
    За скриншот по факториалу РЕСПЕКТ! Всё понял! Большое спасибо, что нашёл время, что бы обьяснить так подробно!

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 19:55 19-04-2007
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir

    Цитата:
    В качестве примера использования рекурсии в bat файлах.


    И это еще и работает!!!

     
    Маленький вопросик не по теме. Как можно из командной строки разрешить сжимать NTFS диск? Команда Format с ключом /c не подходит, она почему-то удаляет данные с диска.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 23:14 19-04-2007 | Исправлено: NIKZZZZ, 04:13 20-04-2007
    Smitis



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    NIKZZZZ

    Цитата:
    Маленький вопросик не по теме. Как можно из командной строки разрешить сжимать NTFS диск?

    compact.exe - сжимает/разжимает файлы

    Цитата:
    Команда Format с ключом /c не подходит, она почему-то удаляет данные с диска

    Ну ты и повеселил с утра. Нельзя так, мне ещё целый день работать

    ----------
    Разум когда-нибудь победит

    Всего записей: 3214 | Зарегистр. 09-02-2003 | Отправлено: 09:20 20-04-2007
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Smitis
    Как-то прозевал то, что под носом лежало. Спасибо.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 13:33 20-04-2007
    Pr0d1



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Здравствуйте многУважаемые!
    Перечитал всю тему  -СУПЕР! много нового узнал, и не думал что такие вещи можно с помощью всего то только "батника" вытворять ...  
    Прочесть меня сюда занесло в своё время, только из-за бональной задачи (как файлы удалять, перемещять)  
    А теперь есть задача на которую здесь Я ответа таки не нашол ... а хотелосьбы знать решение ...  
     
    Подскажите плз.
     
    Как можно включить службу Telnet ???
    Догадываюсь что скорей всего что-то типа:
     
    @echo off
    sc start telnet
     
     
    Но увы ругается "[SC] StartService: OpenService FAILED 1060"
     
    P/S не путать с запустить
     
    Всем активным участникам, данного раздела, -Респект и Уважуха!!!
     

    Всего записей: 63 | Зарегистр. 26-09-2006 | Отправлено: 16:45 20-04-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sc config telnet start= auto (после = обязательно пробел)
    sc start telnet

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 17:09 20-04-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Pr0d1
    sc config tlntsvr start= auto
     
    Добавлено:
    01MDM
    Имя данной службы не telnet, а tlntsvr

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:10 20-04-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Да конечно, я вообще хотел написать ServiceName

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 17:20 20-04-2007
    Mpa3b



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    windows xp, Делаю ограничения доступа к компу по колличеству
    запусков ОС.  
    файл ntldr удалить или заместить не получается  

    Код:
     
    del ntldr
     

    Чекбокс Только для чтения снят
    уже скопировал в другой каталог и копия не удаляется.
    XP имеет виды на этот файл?

    Всего записей: 1101 | Зарегистр. 23-03-2004 | Отправлено: 21:11 20-04-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mpa3b

    Цитата:
    XP имеет виды на этот файл?

    Нет. Попробуй прежде чем запускать "del ntldr", запустить "attrib -r -h -s ntldr"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:17 20-04-2007
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mpa3b

    Цитата:
    файл ntldr удалить или заместить не получается  

    del /q /f /a ntldr

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 22:32 20-04-2007
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 2
    vu1tur (27-04-2007 11:55): продолжаем в теме «Задачи на bat-файлах 3»


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru