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

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

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

vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

   

vu1tur



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

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
 
Для перекодирования кирилицы 866<<>>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:37 26-05-2009 | Исправлено: TechnicsKuzya, 13:53 27-12-2009
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    figaro84
    самый простой способ - вместо %cd% - прописать полный путь
     
    или убрать строку - cd %systemroot%\system32 - можно без нее, autoexec.nt config.nt  - есть в %path%

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 18:59 29-10-2009 | Исправлено: mugil_cephalus, 19:17 29-10-2009
    figaro84

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет всем!
    Народ, гляньте батник!
    когда он запускается автоматически, то рабочей директорией становится не та где он лежит, а системная, а так не надо, надо чтоб после сравнения файлов, он присвайвал рабочей директории начальное значение (то где в реале лежит батник)... Очень надо...
    @echo off
    at /delete /yes
    at 14:50 /interactive /every: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 %cd%\os_kr1_1.bat ^>%cd%\result.txt
    title kontr work #1_1
    date /t  
    time /t
    %systemdrive%
    cd %systemroot%\system32
    fc /a autoexec.nt config.nt
     
    буду очень благодарен!!!
     
    Добавлено:
    нечайно отправил еще раз
    mugil_cephalus спасибо попробую не писать systemroot, а вот путь писать нельзя, т.к. этот батник должен срабатывать слюбого места, откуда был запущен первоначально, без изменений в нем (контрольная работа такая) )

    Всего записей: 3 | Зарегистр. 27-10-2009 | Отправлено: 19:16 29-10-2009
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    figaro84
    лучше убери строку cd, а в строке fc пропиши полный путь до файлов:
    F:\Documents and Settings\admin>fc /?
    Сравнение двух файлов или двух наборов файлов
    и вывод различий между ними.
     
     
    FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W]
       [/nnnn][диск1:][путь1]имя_файла1 [диск2:][путь2]имя_файла2
    FC /B [диск1:][путь1]имя_файла1 [диск2:][путь2]имя_файла2
     
    [диск1:][путь1]имя_файла1
               Указывает первый файл или набор файлов для сравнения.
    [диск2:][путь2]имя_файла2
               Указывает второй файл или набор файлов для сравнения.
     
     
     
    fc /a %systemroot%\system32\autoexec.nt %systemroot%\system32\config.nt  
     
     
    Добавлено:
    figaro84

    Цитата:
    а вот путь писать нельзя, т.к. этот батник должен срабатывать слюбого места, откуда был запущен первоначально, без изменений в нем (контрольная работа такая) )

    не подумал, что это критично, но контр.работа есть контр.работа
     
    figaro84

    Цитата:
    или убрать строку - cd %systemroot%\system32 - можно без нее, autoexec.nt config.nt  - есть в %path%
    - не, здесь я не прав, так нельзя

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 19:29 29-10-2009 | Исправлено: mugil_cephalus, 20:01 29-10-2009
    figaro84

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    так а как тогда?

    Всего записей: 3 | Зарегистр. 27-10-2009 | Отправлено: 20:02 29-10-2009
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    figaro84
    посмотри внимательнее выше (предыдущий мой меседж)  

    Цитата:
    fc /a %systemroot%\system32\autoexec.nt %systemroot%\system32\config.nt

     

    Цитата:
    figaro84  
    лучше убери строку cd, а в строке fc пропиши полный путь до файлов:  
    F:\Documents and Settings\admin>fc /?  
    Сравнение двух файлов или двух наборов файлов  
    и вывод различий между ними.  
     
     
    FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W]  
       [/nnnn][диск1:][путь1]имя_файла1 [диск2:][путь2]имя_файла2  
    FC /B [диск1:][путь1]имя_файла1 [диск2:][путь2]имя_файла2  
     
    [диск1:][путь1]имя_файла1  
               Указывает первый файл или набор файлов для сравнения.  
    [диск2:][путь2]имя_файла2  
               Указывает второй файл или набор файлов для сравнения.  
     
     
     
    fc /a %systemroot%\system32\autoexec.nt %systemroot%\system32\config.nt  


    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 20:13 29-10-2009 | Исправлено: mugil_cephalus, 20:17 29-10-2009
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос по утилитке tag, она показывает время mp3 только с точностью до секунды. а нет такой чтоб с точностью до сотой секунды показывала?

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 20:32 29-10-2009
    mat86



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите пожалуйста, создал себе барт. Хочу чтобы антивирусы запускались с флэшки, если она есть. Создал папку antivirus на флэшке в нее положил сканер curiet.exe. Как написать bat чтобы запускать curiet.exe с флэшки ведь буква флэшки на каждом компе может быть разная?

    Всего записей: 438 | Зарегистр. 19-03-2009 | Отправлено: 00:21 30-10-2009
    tolyn77



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    а вот у меня что получается
    \script>for /F "tokens=1-3 delims=." %i in ("?? 30.10.2009") do (
    echo day:   %i
     echo month: %j
     echo year:  %k
    )
     
    C:\usr\script>(
    echo day:   Пт 30
     echo month: 10
     echo year:  2009
    )
    day:   Пт 30
    month: 10
    year:  2009
    правда
    \script>ver
    Microsoft Windows 2000 [Version 5.00.2195]

    Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 08:18 30-10-2009
    noiseless

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mat86
    Можно и без bat-файла. Надо создать на флешке файл "autorun.inf" cо следующим содержимым:
    [autorun]
    OPEN=antivirus\cureit.exe

    Всего записей: 182 | Зарегистр. 06-02-2006 | Отправлено: 09:18 30-10-2009 | Исправлено: noiseless, 09:19 30-10-2009
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mat86
    for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m ) do start "" %%i:\antivirus\curiet.exe

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 09:19 30-10-2009 | Исправлено: king_stiven, 09:58 30-10-2009
    Greay



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Как реализовать чтобы после запуска батника (в скрытом режиме) без всяких вопросов переименовались на всём компе (а не только в директории батника) файлы *.docx, и *.doc в *.bak

    Всего записей: 254 | Зарегистр. 09-05-2004 | Отправлено: 12:42 30-10-2009
    Maqentaer



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

    Код:
     
    @echo off
    rename "%~dp1*.doc" *.bak
    rename "%~dp1*.docx" *.bak
    for /d %%i in ("%~dp1*") do (
        call "%~f0" "%%i\"
    )
     

    если запустить без параметров, то скрипт будет ориентироваться от текущей директории,
    либо можно задать в качестве первого параметра путь от которого отталкиваться.

    Всего записей: 71 | Зарегистр. 18-05-2008 | Отправлено: 14:07 30-10-2009 | Исправлено: Maqentaer, 14:11 30-10-2009
    mat86



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

    Цитата:
    Можно и без bat-файла. Надо создать на флешке файл "autorun.inf" cо следующим содержимым:  
    [autorun]  
    OPEN=antivirus\cureit.exe

    Не пойдет, я хочу из меню Bart pe запускать, а autorun.inf будет автоматически запускаться если стоит автозапуск. У меня на флэшке будет три антивруса, я их буду запускать с меню Barta. Хочется понять технологию, тогда остальные я легко сделаю.
     

    Цитата:
    for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m ) do start "" %%i:\antivirus\curiet.exe

     Не работает, начинает запускать из каждой деректории и где нету выскакивает окно с ошибкой и останавливается. Если бы сделать так  чтобы пропускались не существующие или не высвечивало ошибок
     
     

    Всего записей: 438 | Зарегистр. 19-03-2009 | Отправлено: 15:10 30-10-2009
    Kokaln

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите, понимаю. что старо:
    загрузка на FTP
    ftp.exe -s:ftp.txt
     
    сам ftp.txt:
    open ftp
    ***
    ***
    binary  
    quote PASV  
    put C:\backup\*.rar  
    quit  
     
    отправляет тольк первый архив, а не все

    Всего записей: 2 | Зарегистр. 30-10-2009 | Отправлено: 15:21 30-10-2009
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mat86
    @echo off
    for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m ) do if exist %%i:\antivirus\curiet.exe start "" %%i:\antivirus\curiet.exe

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 15:22 30-10-2009
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Kokaln
    посмотри WINDOWS\Help\ntcmds.chm (раздел Справочник по параметрам командной строки.) - а там команды ftp - put и mput

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 16:05 30-10-2009 | Исправлено: mugil_cephalus, 16:10 30-10-2009
    mat86



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

    Цитата:
    @echo off  
    for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m ) do if exist %%i:\antivirus\curiet.exe start "" %%i:\antivirus\curiet.exe

     Теперь ошибки не выскакивают, но файл не запускается

    Всего записей: 438 | Зарегистр. 19-03-2009 | Отправлено: 16:25 30-10-2009
    mugil_cephalus

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

    Цитата:
    но файл не запускается

    а чего батник пишет? какой output?

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 16:30 30-10-2009
    noiseless

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mat86
    Должен запускаться. Проверь нет ли пробелов в концах строк.

    Всего записей: 182 | Зарегистр. 06-02-2006 | Отправлено: 16:36 30-10-2009
    mugil_cephalus

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

    Цитата:
    mat86  
    Должен запускаться. Проверь нет ли пробелов в концах строк.

    да, наверняка пробел

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 16:49 30-10-2009
       

    Страницы: 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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 7
    vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru