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

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

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

vu1tur (04-11-2008 23:07): Задачи на bat-файлах 6  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Nagual



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

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

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

  • Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 12:28 19-03-2008 | Исправлено: Nagual, 01:02 24-09-2008
    Serhi84

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, какой командой в XP можно вывести список всех компьютеров в домене?

    Всего записей: 45 | Зарегистр. 31-01-2008 | Отправлено: 11:15 06-06-2008
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Serhi84
    Net view - это включенных в данный момент
     
    Или тебе надо все, даже выключенные

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:31 06-06-2008
    JohnRD

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    скажите пожалуйста
    как заставить запускаться батник каждые n минут?

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 11:47 06-06-2008
    4aplin



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте!!! У меня проблема с написанием батника, выполняющего следующую задачу...
    Если процессы в системный лог пишут ошибку, тогда вызов blat, весится на команду eventtriggers и отправляет сообщение о том, какой сервис полетел...
    Подскажите, как его написать.

    Всего записей: 17 | Зарегистр. 29-05-2008 | Отправлено: 12:05 06-06-2008
    nNau



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnRD, полагаю что только через планировщик задач. Используйте либо встроенный в Windows, либо что-нить типа nnCron
     
     
    Добавлено:
    Diman_tlt  
     

    Цитата:
    подскажите пожалуста как выгруженную инфу в *.txt (> *.txt) распечатать на сетевой принтер

     
    распечать файл с командной строки можно через команду  
     
    print [/d:принтер] [диск:][путь] имя_файла [ ...]  
     
     

    Всего записей: 83 | Зарегистр. 13-05-2004 | Отправлено: 13:11 06-06-2008
    Elroir



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

    Цитата:
    скажите пожалуйста  
    как заставить запускаться батник каждые n минут?

    Когда-то igor_andreev давал ссылку на майкрософтовскую утилиту soon - http://www.microsoft.com/downloads/details.aspx?familyid=ca8191e6-9eef-4975-b51c-8d670748ca8e&displaylang=en
    В конец батника прописывается строчка:

    Код:
     
    soon [количество секунд до след. запуска] batnik.cmd
    например
    soon 300 batnik.cmd
    для запуска через 5 минут
     


    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 13:49 06-06-2008 | Исправлено: Elroir, 13:50 06-06-2008
    Diman_tlt



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    nNau можно поподробней на примере, а то делаю так:
     
    print /d:\\USER\hp LaserJet 1300 PCL 6 D:\%date%.txt
     
    пишет: "не удалось инициализировать устройство"
    принтер сетевой и доступ открыт, в чем фишка?

    Всего записей: 6 | Зарегистр. 06-06-2008 | Отправлено: 13:51 06-06-2008
    Elroir



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

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:01 06-06-2008
    vsk94



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    Респект за проделанную работу!
    Опробую завтра утром
     (уже 2е сутки на работе  )

    Всего записей: 862 | Зарегистр. 23-04-2007 | Отправлено: 15:17 06-06-2008
    JohnRD

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
     
    спасибо огромное
    можно еще вопрос,  
    как правильно разбирать папку на предмет нужных типов файлов
    я прописал так, но почти уверен что это не правильно ..
     
    for %%p in (E:\install\GetMail\22\*.xml,E:\install\GetMail\22\*.rar) do ..

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 15:25 06-06-2008 | Исправлено: JohnRD, 15:48 06-06-2008
    Elroir



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

    Цитата:
    я прописал так, но почти уверен что это не правильно  

    Правильно
    Если в пути есть пробелы, то нужно добавлять кавычки, если нет - можно и так.

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 16:13 06-06-2008
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JI063uk
    Код:
    CreateObject("WScript.Shell").Run"notepad",0,0
    для ожидания выполнения команды поставь вместо второго нуля 1

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 17:57 06-06-2008
    Joolz

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

    Код:
    @echo off
    setlocal
    for /f "tokens=5 delims=:" %%i in ('FINDSTR /I "Status:" log.txt') do set aaa=%%i
    if NOT %aaa%==OPTIMAL (
    sendmail -t < warning.mail
    ECHO WARNING        %date% %TIME:~0,8%>>\\Computer\report$\alertlog.txt
    ) else (
    ECHO OK        %date% %TIME:~0,8%>>\\Computer\report$\alertlog.txt
    )
    pause
     

    Тут, правда, используется sendmail а не blat, но смысл тот же.
    tokens=5 и delims=: выбраны исходя из структуры лога.
     
    Хм. Впрочем, мой вариант тут не подойдет. Надо как-то вытаскивать инфу о сервисе из eventtriggers. Если только как-то через EID

    Всего записей: 100 | Зарегистр. 24-01-2008 | Отправлено: 18:02 06-06-2008 | Исправлено: Joolz, 18:18 06-06-2008
    HelioSS



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Надобы решить такую задачу: запуск Internet-соединения с правами и учётной записью администратора без взаимодействия с Рабочим Столом. В течении работы соединения необходимо с диапазоном в 20 минут по 5 минут пинговать любой адрес.

    Всего записей: 5104 | Зарегистр. 26-11-2007 | Отправлено: 18:43 06-06-2008
    Elroir



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

    Код:
     
    @echo off
    psexec -u ЛОГИН_АДМИНА -p ПАРОЛЬ_АДМИНА rasdial "НАЗВАНИЕ ИНТЕРНЕТ СОЕДИНЕНИЯ"
    :loop
    ping -n 1201 -w 1000 127.0.0.1>nul
    ping -n 301 -w 1000 www.google.com>nul
    ping www.google.com | find "TTL=" && goto loop
     

    Используется утилита psexec - http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 19:02 06-06-2008
    utf

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Это опять я, возвращаюсь к поводу проверки шары.
    Да, есть замечательная команда net file, которая отображает открытые пользователями файлы в шаре. Но можно приспособить это команду к условной проверке (if then)?
    Т.е. возможно ли реализовать нечто подобное:
    if "файл \\server\doc\1.doc открыт пользователем"  
    then "сделать то то"
    else "сделать другое"
    За синтаксис не бейте, bat только начал изучать.

    Всего записей: 3 | Зарегистр. 03-03-2007 | Отправлено: 21:27 06-06-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    utf
    Проверить негде, взял за основу справку по net file.
     

    Код:
     
    @echo off
     
    for /f "tokens=1,2*" %%i in ('net file ^| findstr /l "\\server\doc\1.doc"') do (
        if not "%%i"=="" set id=%%i
    )
     
    if defined id (
        echo %id% - file id
        net file %id% /close
    ) else (
        echo file not found
        echo file not opened yet
    )
     
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 22:49 06-06-2008
    JohnRD

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM спаситель
     
    скажите как скрипт заставить удалять те файлы которые были отправлены по FTP? вставлял я del уже но толку нету,  
     
    последний вариант

    Код:
    @echo off
     
    set t=%time: =0%
    set s=%t:,=%
    set s1=%s::=%
    set s2=%s1::=%
    set d=KONscr%s2%
     
    set d1=%date:~-4%%date:~3,2%%date:~0,2%
    set l=E:\install\GetMail\%d1%_%s1%.log
     
    for %%p in (E:\install\GetMail\22\*.xml,E:\install\GetMail\22\*.rar) do (
         for /f "tokens=2 delims=_" %%i in ("%%p") do call:inn %%i %%p
    )
    for %%i in (*.ftp) do (
        echo bye>>"%%i"
        ftp -n -s:%%i 192.168.60.30>>%l%
                -------------       поидее тут, но как вписать del %3 , или  как сюда передать %%P  как параметр тоже?  
        del "%%i"
    )
     
    E:\install\GetMail\soon.exe 100 E:\install\GetMail\91.cmd
     
    goto:eof
     
    :inn
    for /f "tokens=1,2 delims=; " %%b in (E:\install\GetMail\1.csv) do if %%b==%1 set login=%%c
    set passw=%login%
     
    if not exist "%d%%1.ftp" (
        echo user>"%d%%1.ftp"
        echo %login%>>"%d%%1.ftp"
        echo %passw%>>"%d%%1.ftp"
    )
    echo put %2>>"%d%%1.ftp"

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 06:58 07-06-2008 | Исправлено: JohnRD, 09:28 07-06-2008
    mihla



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

    Elroir

    Цитата:
     
    Создай .reg файл следующего содержания:  
    Подробнее...  
    и импортируй его в реестр.  
    Скорее всего это поможет.

     
    Спасибо огромное! Заработало!!!  

    Всего записей: 9 | Зарегистр. 15-01-2004 | Отправлено: 07:21 07-06-2008
    Diman_tlt



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста как пингануть диапазон ip адресов (192.168.1.0-192.168.1.100)?

    Всего записей: 6 | Зарегистр. 06-06-2008 | Отправлено: 09:31 07-06-2008
       

    Страницы: 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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 5
    vu1tur (04-11-2008 23:07): Задачи на bat-файлах 6


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru