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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    прошу не вменять мне в наглость и бесцеремонность , но рискну УЖЕ ВТОРОЙ РАЗ повторить свой вопрос с 48-ой и 49-ой  страниц, потому что хотелось бы увидеть хотя бы ответ наподобие "я не знаю", а то в рамках сложившейся гробовой тишины на мое алкание, я томим сомнениями - может форум знает ответ, просто не успели ответить и позабылось?...
     
     

    Цитата:
    Цитата:А можно как то коммандной строкой вызвать для просмотра коды из *.DLL-ов ?  
    А то у меня получается только для printui.dll:  
       
    C:\>rundll32 printui.dll,PrintUIEntry /?  
       
    вот вывод:  
    Использование: rundll32 printui.dll,PrintUIEntry [параметры] [@командный файл]  
       /a[имя_файл] имя двоичного файла  
       /b[имя] основное имя принтера  
       /c [имя] UNC-имя компьютера, где выполняется команда  
       /dl удаление локального принтера  
       /dn удаление подключения к сетевому принтеру  
       /dd удаление драйвера принтера  
       /e вывод параметров настройки печати  
       /f[file] или информационный файл, или выходной файл  
       /ga добавление подключений компьютеров к принтеру  
       /ge перечисление подключений компьютеров к принтеру  
       /gd удаление подключений компьютеров к принтеру  
       /h[arch] Архитектура драйвера для: Alpha | Intel | IA64 | х64  
       /ia установка драйвера принтера с помощью информационного файла  
       /id установка драйвера принтера с помощью мастера установки драйверов принтеров  
       /if установка принтера с помощью информационного файла  
       /ii установка принтера с помощью мастера установки принтеров и информационного файла  
       /il установка принтера с помощью мастера установки принтеров  
       /in добавление подключения к принтеру  
       /j[provider] имя системы печати  
       /k печать пробной страницы на выбранном принтере, не может использоваться с другими командами установки принтера  
       /l[path] путь к исходному размещению драйвера принтера  
       /m[model] имя модели драйвера принтера  
       /n[name] имя принтера  
       /o показать очередь заданий на печать  
       /p отображение свойств принтера  
       /q скрытый режим без вывода сообщений об ошибках  
       /r[port] имя порта  
    .........................  
       
    и т.д.  
     
     
     
    Добавлено:  
    про http://dx21.com/coding/libraries/rundll32/default.aspx знаю, но там уже готовые результаты выложены, а других DLL-библиотек еще же куча....


    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 18:08 02-10-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mugil_cephalus
    Наверное все зависит от каждой конкретной *.dll

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:15 02-10-2009
    mugil_cephalus

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

    Цитата:
    Наверное все зависит от каждой конкретной *.dll  

    Спасибо.  
    P.S.
    странно, что никто из сисадминов, решая задачи на бат-файлах, не пытался вызвать код из *.DLL-библиотек, по аналогии со скриптами с ресурса http://dx21.com/coding/libraries/rundll32/default.aspx (RUNDLL32.EXE shell32.dll,Control_RunDLL access.cpl,,1 / RUNDLL32.EXE shell32.dll,Control_RunDLL desk.cpl,,3 / RUNDLL32.EXE InetCpl.cpl,ClearMyTracksByProcess 8) - мне казалось есть универсальный язык запросов вызовов кода из *.DLL...  

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 18:52 02-10-2009
    wolf0425



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

    Цитата:
    мне казалось есть универсальный язык запросов вызовов кода из *.DLL...  
    наверно об этом забыли сообщить авторам dll - пишут свои dll как ни попадя, обычно не включая в код никакого хэлпа по использованию и никак не унифицируя внутренние имена процедур...

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 21:10 02-10-2009 | Исправлено: wolf0425, 21:11 02-10-2009
    CMD



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Задача: в текстовом файле с ip адресами найти адреса 10.2.*.* и 192.168.*.*
    Не получается составить регулярное выражение для поиска.
    Делаю так: findstr /r "(^192\.168\.)|(^10\.2\.)" ip.txt - ничего не находит,
    пробовал примеры отсюда, тоже никак, у findstr синтаксис какой то особенный?

    Всего записей: 311 | Зарегистр. 18-05-2004 | Отправлено: 09:29 04-10-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    CMD
    Рег. выражения findstr примитивны и сводятся к минимуму возможностей, попробуй так:

    Код:
     
    findstr "192\.168 10\.2\." ip.txt
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 09:55 04-10-2009 | Исправлено: 01MDM, 09:57 04-10-2009
    amnon10



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

    Цитата:
    Помогите с задачей пожалуйста  
     
    нужно скопировать все фйлы  
    из - dir/filename.* в - dir2/filename.*  
    сделать ярлык на каждый копируемый файл  
    в - dir3/filename.lnk на dir2/filename.*  
     
    чтобы имена ярлыков совпадали с именами файлов

     
    Вот наваял вроде  
    (mklink - _http://smithii.com/mklnk)
     

    Код:
     
    @Echo Off
    Dir /O:D *.* /b >Tmp
    For /F %%a in (Tmp) Do (
    xcopy %%a C:\test
    mklnk "C:\test\%%a" I:\links\%%a
    echo %%a %date% %time% >>log.txt
    )
    Del Tmp
     

    Всего записей: 85 | Зарегистр. 23-04-2003 | Отправлено: 18:30 04-10-2009
    Busobus

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Задача стоит в ежедневной распаковки зип архивов в определенную папку с заменой файлов.
    Никто не подскажет как это реализовать? Заранее спасибо

    Всего записей: 127 | Зарегистр. 01-10-2006 | Отправлено: 13:32 05-10-2009
    LexxAS



    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    люди добрые помогите!!! Я В КОМАНДНОЙ СТОКЕ ДЛЯ VISTA  ничего не смыслю кто поможет? суть такова нужно создать командный файл что бына диске д удалить папку но так чтобы снимались все аттрибуты и небыло заметно самого процесса кто может помочь пишите тут или в аську 215085498 заранее сапасибо!

    Всего записей: 18 | Зарегистр. 04-05-2007 | Отправлено: 13:47 05-10-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LexxAS
    Команда rd /s /q "путь\папка" удаляет папку с любыми файловыми атрибутами.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 20:55 05-10-2009 | Исправлено: 01MDM, 20:56 05-10-2009
    LexxAS



    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    а если можно то напишите подробно как это сделать....  большое спасибо!!!!!!!!!!!!!

    Всего записей: 18 | Зарегистр. 04-05-2007 | Отправлено: 22:58 05-10-2009
    mugil_cephalus

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

    Цитата:
    в смысле - после завершения чтоб окно консоли оставалось?  
    да влепи в последнюю строчку pause & exit 0

     
    вот у меня вывод после pause в батнике:
    ............
    G:\scripts>pause
    Для продолжения нажмите любую клавишу . . .
     
    после нажатия любой клавиши (батник был запущен mouse doubleclick или ярлыком *.lnk, а не в окне консоли) окно пропадает.
    А мне нужно чтобы батник отработал все в интерактивном режиме консоли cmd и закончился строкой-приглашением (чтоб окно консоли можно было закрыть либо через GUI -> push down пиктограмму window close, либо через ввод exit'a в консоли)
    cmd modes:
    1) Command Line Mode (Interactive mode);
    2) Batch File Mode;
     
    поэтому у меня вырисовывался только скрипт:
    tskklLst7.bat:  
    @echo off  
    rem cls  
    %1 %2  
    echo cmd /k tskklLst7 goto bypass > tskklLst7_run.bat  
    tskklLst7_run  
    :bypass  
    del /q tskklLst7_run.bat  
    taskkill /F /IM HKML_SRV.exe  
     
    короче, можно в батнике прописать, чтоб после его запуска  mouse doubleclick'om или ярлыком *.lnk (делаю батники для полных лузеров), батник отработал все в интерактивном режиме консоли cmd и закончился строкой-приглашением, как в DOS'e command.com /p  ?
     

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 01:18 06-10-2009
    wolf0425



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

    Цитата:
    короче, можно в батнике прописать, чтоб после его запуска
    еще раз повторю: прописать в батнике команду, заменяющую ключ, который должен быть прописан у исполняющего этот батник cmd.exe - нельзя.
     
    А зачем эти танцы с бубном? чем запуск /k лучше чем просто cmd.exe в последней строке батника? свопа на мегабайт меньше?

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 02:26 06-10-2009 | Исправлено: wolf0425, 02:28 06-10-2009
    GRom V

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Помогите разобраться с этим:
    Нужно командой создать текстовый документ, где:
    в первой строке написанно: 1-stroka
    во второй: 2-stroka
    в третьей: far <> 3
     
    Пишу так:  
     
    echo 1-stroka>1.txt&&echo 2-stroka>>1.txt&&echo far <> 3 >>1.txt    
     
    Но затыкается на far <> 3 - говорит непредвидинный >
     
    Как правильно записать far <> 3 >>1.txt ???

    Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 04:09 06-10-2009 | Исправлено: GRom V, 08:10 06-10-2009
    01MDM



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

    Код:
     
    echo far ^<^> 3 >>1.txt
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 09:54 06-10-2009
    GRom V

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    01MDM
    Огромное СенКЮ!

    Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 13:52 06-10-2009
    mugil_cephalus

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

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

    Я где-то видел скрипт батника типа: cmd /k /q /e:on "ver && hostname && systeminfo /fo csv /nh && tasklist /svc" (что-то такое примерно, важна суть)
    Вот я и думал, что как-то можно составить батник , чтобы после первой строки батника - cmd /k /q /e:on - остальные команды писались построчно (если батник длинный с call'ami и label'ami), а то запутаешся с амперсандами

    Цитата:
    А зачем эти танцы с бубном? чем запуск /k лучше чем просто cmd.exe в последней строке батника? свопа на мегабайт меньше?

    не подумал

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 15:19 06-10-2009
    Busobus

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

    Цитата:
    Задача стоит в ежедневной распаковки зип архивов в определенную папку с заменой файлов.
    Никто не подскажет как это реализовать? Заранее спасибо


    Код:
     
    @echo off  
    rar.exe e F:\1\xxx.rar *.* F:\2\ -O+
    del F:\1\xxx.rar
    exit
     

    С рар архивами разобрался что делать,а зип  не цепляется. (

    Всего записей: 127 | Зарегистр. 01-10-2006 | Отправлено: 17:39 06-10-2009
    wolf0425



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

    Цитата:
    а зип  не цепляется. (  
    7za x -y -oF:\2\ -- F:\1\xxx.zip
    или, если распаковывать без подкаталогов, просто в кучу -  
    7za e -y -oF:\2\ -- F:\1\xxx.zip
    где брать  7za.exe - знает яндекс.

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 21:36 06-10-2009 | Исправлено: wolf0425, 23:57 06-10-2009
    mugil_cephalus

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

    Цитата:
    А зачем эти танцы с бубном? чем запуск /k лучше чем просто cmd.exe в последней строке батника? свопа на мегабайт меньше?

     
    Так cmd лучше, чем pause, - я думал листинг батника пропадет и откроется новое окно cmd, а все по иному:
    вот скрипт:
    @echo off
    date /t
    time /t
    taskkill /F /IM qttask.exe
    chcp 866
    cmd
    вот output:
    Tue 10/06/2009
    11:25 PM
    Ошибка: Не удается найти процесс "qttask.exe".
    Текущая кодовая страница: 866
    Microsoft Windows XP [Версия 5.1.2600]
    (С) Корпорация Майкрософт, 1985-2001.
     
    G:\scripts>

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 23:26 06-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