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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    topic

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    uZver
     
    СЕНЬКС пашет
     
    KapralBel
     
    Наваял  
    @Echo Off
    Set PATH_POISK="c:\bat\txt\"
     
    FOR %%a IN (%PATH_POISK%\*.sta) DO (
    echo %PATH_POISK%
    echo %%a
    find /i "MC0SJU" %%a% >Res
    )
     
    Но в Res попали только из последнего файла строки ?

    Всего записей: 25 | Зарегистр. 31-01-2006 | Отправлено: 18:05 22-11-2006
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    topic
    В этом случае используй не > (одиночный), а двойной >>

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 18:18 22-11-2006
    topic

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
     
    ПОШЛО !
     
     
    uZver
     
    Поменял в
    Set PATH_POISK диск на сетевой - и всё , файл есть, а пишет НЕТ

    Всего записей: 25 | Зарегистр. 31-01-2006 | Отправлено: 18:21 22-11-2006
    tolyn77



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    как в батнике можно удалить в файле %windir%\system32\sysoc.inf все HIDE?

    Всего записей: 1495 | Зарегистр. 07-09-2004 | Отправлено: 18:23 22-11-2006
    topic

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
     
    А можно как то сделать чтобы файлики анализировались в порядке возрастания времени создания ?
     
    Добавлено:
    uZver
     
    Странно на разных машинах по разному - Вообщем спасибо - работает
    Дальше сам
     
     
    FOR %%a и т.д. , а можно как то потом это самое %a в echo кинуть чтоб значение посмотреть, что то не получается , и с "" и с %% и с !!  нивкакую
     
     
    Добавлено:
    KapralBel
     
    Если так
    @Echo Off
    Set PATH_POISK="C:\bat\txt\"
     
    FOR %%a IN (dir /O:D %PATH_POISK%\*.sta) DO (
    find /i "MC0SJU" %%a% >>Res
    )
     
    то
    "Не найден файл: DIR
    FIND: Недопустимый ключ"
     
    Но файл создаёт

    Всего записей: 25 | Зарегистр. 31-01-2006 | Отправлено: 18:26 22-11-2006
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Charm1
    Странно - сейчас поставил себе формат даты, как у тебя - все работает.
    Ладно - будем проверять дальше. Следующий код будет показывать дату файла и текущую дату. Удалять пока ничего не будет.

    Код:
     
    @echo off  
    setlocal enabledelayedexpansion  
    FOR %%a IN (C:\1\new\*.xls) DO (  
    set tmp=%%~ta
    set tmp=!tmp:~0,10!
    if "!tmp!" NEQ "%DATE%" (
    echo fdate="!tmp!" cdate="%DATE%" - delete %%a
    )
    )
     

    Выложи результаты.
     
    Добавлено:
    Кстати - ты после копирования из форума, пробелы в конце строк удаляешь?
     
    Добавлено:
    tolyn77

    Цитата:
    как в батнике можно удалить в файле %windir%\system32\sysoc.inf все HIDE?

    http://forum.ru-board.com/topic.cgi?forum=62&topic=6156&start=1960#8
    Вместо New string поставить "" (пустая строка).

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:24 22-11-2006
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Как скопировать файл в директорию с подпапками имена которых неизвестны, причём скопировать нужно во все существующие папки и вложенные папки? Скажем файл system.cfg в D:\Setup\"несколько подпапок с неизвестными именами"
     

    Цитата:
    а зачем если не секрет?  
    а вот такое же уже однажды видел на ПК с трояном? забавно кстати работал

     
    Да не трояна мне нужно копировать, а настройки одной игры, а то клиенты уже достали...ПЛЗ выложите кто нибудь готовое решение

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:10 23-11-2006
    Charm1

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    Все дошло!!!! УУУРРРААААА Спасибо!!!!!!!!!!!!!!!!!!!!

    Всего записей: 9 | Зарегистр. 17-11-2006 | Отправлено: 08:46 23-11-2006
    KapralBel



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

    Код:
    @Echo Off
    Dir /O:D *.txt /b >Tmp
    For /F %%a in (Tmp) Do (
    Echo ===================== %%a ======================= >>Result
    Type %%a | Find /i "FAR" >>Result
    )
     

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 09:42 23-11-2006
    Charm1

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

    Всего записей: 9 | Зарегистр. 17-11-2006 | Отправлено: 09:58 23-11-2006 | Исправлено: Charm1, 12:38 23-11-2006
    Maza Faka



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

    Цитата:
    Как скопировать файл в директорию с подпапками имена которых неизвестны, причём скопировать нужно во все существующие папки и вложенные папки? Скажем файл system.cfg в D:\Setup\"несколько подпапок с неизвестными именами"

     
    Всё нашёл:  
    For /R D:\Setup\ %%i in (.) do copy system.cfg %%i

     

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 10:32 23-11-2006
    topic

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
     
    Вот так работает
    @Echo Off
    Dir /O:D *.txt /b >Tmp
    For /F %%a in (Tmp) Do (
    find /i "MC0SJU" %%a% >>Res
    )
     
    Делает два файла Res Tmp и без ошибок.
     
     
     
    Добавлено:
    KapralBel

    Подкорректировал  под себя  
    @Echo Off  
    Dir /O:D *.txt /b >Tmp  
    For /F %%a in (Tmp) Do (  
    Echo ===================== %%a ======================= >>Result  
    Type %%a | Find /i "FAR" >>Result  
    )
     
    Тормознул сразу , свой Find /i  вставил - тоже ОК
     
     
    Добавлено:
    А можно как то вывести найденный текстовый файл на экран ?
    Т.е. содержание его ???

    Всего записей: 25 | Зарегистр. 31-01-2006 | Отправлено: 11:49 23-11-2006
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    topic
    Type File.txt | More

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:02 23-11-2006
    ALEF



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    вопрос не совсем по BAT-файлам, но по командам:
    как в одной комане задать последовательне выполнение двух команд?
     
    пример из практики:
    в cmd.exe даю команду chkdsk C: /R /F
    жду пока она завершиться (это 10-30 минут)
    потом даю команду chkdsk D: /R /F
    и так на каждом копме.
    Нужно запускать эти команды одним махом, но не создавая BAT-файл, вот так не работает: chkdsk C: /R /F | chkdsk D: /R /F
     

    Всего записей: 993 | Зарегистр. 03-11-2003 | Отправлено: 19:31 23-11-2006
    Elroir



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

    Код:
    chkdsk C: /R /F & chkdsk D: /R /F
     

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 19:41 23-11-2006
    zyurikz

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите плз
    есть батник
     
    findstr /s "22./11/2006.*DOWNLOAD" *.log >1.txt  'ищет по всем каталогам
     
    нужно сделать поиск по нескольким каталогам  
    тако типа
    findstr /s "22./11/2006.*DOWNLOAD" с:\S1234??\*.log >1.txt
    но так не работает
    как указать диапазон каталогов S1234??
    чтобы искал в S123400 до S123499
     
    Заранее спасибо!

    Всего записей: 7 | Зарегистр. 13-10-2006 | Отправлено: 20:35 23-11-2006
    Elroir



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

    Код:
     
    FOR /L %%I IN (400,1,499) DO (
    findstr /s "22./11/2006.*DOWNLOAD" с:\S123%%I\*.log >1.txt
    )
     

    Если хочешь, чтобы в 1.txt добавлялась информация - поставь ">>" вместо ">".

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:47 23-11-2006
    Maza Faka



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

    Цитата:
    как в батнике можно удалить в файле %windir%\system32\sysoc.inf все HIDE?

     
    А можешь написать готовый пример, а то у меня весь текст удаляется...

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 09:44 24-11-2006
    petryxa

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день
    Нужно сделать .bat для закачки файлов на ftp через proxy.
    Пробовал Curl.exe (http://curl.haxx.se)  
    такой .bat не работает.
    _________________________________
    set ftp_proxy=ftp://192.168.9.3:8021/  
    start C:\home\curl -T 1.txt ftp://user:pass@192.168.3.13/In/
     
    ftp proxy WinGate
     
    Подскажите где ошибка.
     
    Добавлено:
    Добрый день
    Нужно сделать .bat для закачки файлов на ftp через proxy.
    Пробовал Curl.exe (http://curl.haxx.se)  
    такой .bat не работает.
    _________________________________
    set ftp_proxy=ftp://192.168.9.3:8021/  
    start C:\home\curl -T 1.txt ftp://user:pass@192.168.3.13/In/
     
    ftp proxy WinGate
     
    Подскажите где ошибка.

    Всего записей: 5 | Зарегистр. 14-11-2006 | Отправлено: 11:48 24-11-2006
    ViSiToR



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

    Цитата:
    А можешь написать готовый пример, а то у меня весь текст удаляется...

    Во-первых, присмотрись к постам которые идут чуть ниже чем приведённый пост by Elroir (и посмотри надпись в шапке темы после слова Важно:). Во-вторых, вот готовый пример :
     

    Код:
    @echo off  
    :: Create the assembler program, by Herbert Kleebauer
    echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=> %temp%.\sbs2.com
    echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU!WvX0GwUY Wv;ovBX2Gv0ExGIuht6>> %temp%.\sbs2.com
    echo ?@}IKuNWpe~Fpe?FNHlF?wGMECIQqo{Ox{T?kPv@jeoSeIlRFD@{AyEKj@>> %temp%.\sbs2.com
    echo iqe~1NeAyR?mHAG~BGRgB{~H?o~TsdgCYqe?HR~upkpBG?~slJBCyA?@xA>> %temp%.\sbs2.com
    echo LZp{xq`Cs?H[C_vHDyB?Hos@QslFA@wQ~~x}viH}`LYNBGyA?@xAB?sUq`>> %temp%.\sbs2.com
    echo LRy@PwtCYQEuFK@A~BxPtDss@fFqjVmzD@qBEOEenU?`eHHeBCMs?FExep>> %temp%.\sbs2.com
    echo LHsPBGyA?@xAunjzA}EKNs@CA?wQpQpKLBHv?s`WJ`LRCYyIWMJaejCksl>> %temp%.\sbs2.com
    echo H[GyFGhHBwHZjjHeoFasuFUJeHeB?OsQH[xeHCPvqFj@oq@eNc?~}Nu??O>> %temp%.\sbs2.com
    echo ~oEwoAjBKs?Zp`LBzHQzyEFrAWAG{EFrAqAGYwHTECIQ{coKIsaCsf{Oe~>> %temp%.\sbs2.com
    echo CK}Ayre~CNFA{rAyEKFACrA{EKGAjbA}eKGSjNMtQFtc{OAyDGFj?{FDGQ>> %temp%.\sbs2.com
    echo KAjNVk_OCAx@e?f{o?CosI}1EGizhljJ~H1ZeG}JBA~rACBMDGjjDG@g0>> %temp%.\sbs2.com
    :: Use the program
    %temp%.\sbs2.com 0 "HIDE" """" < "infile" > "outfile"
    :: Delete the program
    del %temp%.\sbs2.com

     
    Я вместо двух кавычек, поместил четыре (4), чтобы распознавалось как пустая строка.
    И ещё, как заметил Kirillhome, эта замена чувствительна к регистру.
     
    Добавлено:
    Так что, так никто и не знает решения проблемы которую я создал ( ) пару страниц назад?

    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 11:56 24-11-2006 | Исправлено: ViSiToR, 12:00 24-11-2006
       

    Страницы: 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.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru