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

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



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как удаленно проверить работу сервиса? И если сервис работает, то никаких действий не производится, если нет, то высылается на почту сообщение какой сервис упал... Как это лучше сделать????
     Заранее спасибо...

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    4aplin
    Это в свойствах службы надо настраивать. Там на вкладке "восстановление" Можно задать программку, которая будет выполняться при сбое. А саму программу отсылки в теме уже приводили.

    Всего записей: 632 | Зарегистр. 12-08-2003 | Отправлено: 14:38 02-06-2008
    4aplin



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Cyril Konst
    С отсылкой всё понятно.. Можно blat - ом всё сделать.. А вот как реализовать проверку??? И чем лучше пользоваться???

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

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    скажите а можно как нибудь blat заставить отсылать атачи из папки по несколько штук например 10?
    небыло ничего подобного?

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 14:48 02-06-2008
    Cyril Konst



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    4aplin
    Я ж сказал, открываешь остнастку "Службы" на том компе, где эта служба запущена.  Выбираешь нужную службу, на её вкладке "Восстановление" выбираешь: запускать программу при сбое. И там прописываешь blat.

    Всего записей: 632 | Зарегистр. 12-08-2003 | Отправлено: 14:51 02-06-2008 | Исправлено: Cyril Konst, 14:51 02-06-2008
    JohnRD

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

    Код:
    for %%F in (E:\install\GetMail\22\*.xml) do blat -to info@domain.ru -server mail.domain.ru -f webmaster@domain.ru -subject "test" -body "test" -r -attach %%~nxF

     
    но конечная цель отпралять по заданному количеству вложений в одном письме?
     
    спасибо

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



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Cyril Konst
    )) А если их несколько десятков???? И серверов 7??? Делать это руками не очень приятно... Я говорил о БАтничке...

    Всего записей: 17 | Зарегистр. 29-05-2008 | Отправлено: 15:55 02-06-2008
    Angel Hranite



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Добрый день. Помогите пожалуйста сделать следующее
     
    бат файл лежит рядом с prog.exe, небходимо проверить наличие переменной prog в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment если есть, то запустить файл prog.ехе. Если нет, то:
    1. создать в той ветке переменную prog равную путь_до_ехе_файла\имя_ехе_файла(без расширения, т.е. без .ехе).имя_компа
    2. создать рядом с prog.ехе файлом папку с именем "имя_ехе_файла.имя_компа"
    3. запустить prog.ехе
     
    пример:
    prog.exe лежит в C:\folder, тогда переменная должна выглядеть так prog=C:\folder\prog.pc01, и создана папка с именем prog.pc01

    Всего записей: 51 | Зарегистр. 14-05-2008 | Отправлено: 15:57 02-06-2008
    Cyril Konst



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    4aplin
    Хм, так бы сразу и сказал.
    Тогда смотри команду: sc failure
    Если процессы в системный лог пишут ошибку, тогда вызов blat можно повесить на команду eventtriggers.

    Всего записей: 632 | Зарегистр. 12-08-2003 | Отправлено: 16:54 02-06-2008
    Laureus



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

    Цитата:
    такой простой батник

    Этот код просто скопировать в Блокнот и сохранить под именем ping.bat(получим батник). Потом кликнуть по этому файлу (запустить его на исполнение) и начнётся пингование Яндекса через каждые 2 минуты?
    У меня при запуске батника открывается черное окно ДОС С:\WINDOWS\system32\cmd.exe и более ничего не происходит.

    Всего записей: 177 | Зарегистр. 07-03-2008 | Отправлено: 17:02 02-06-2008 | Исправлено: Laureus, 17:08 02-06-2008
    Elroir



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

    Цитата:
    У меня при запуске батника открывается черное окно ДОС С:\WINDOWS\system32\cmd.exe и более ничего не происходит.

    Ты наступил на очень распространенные грабли
    Нельзя было называть батник ping.bat. В самом батнике используется команда ping, но так-как не указано расширение (.exe), то батник запускает первое что попадется в текущей директории с именем ping - то есть самого себя. И так по циклу.
    Переименуй батник.

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

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

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

    Цитата:
    в чем проблема?  
    Exchange 2007 ?  
     
    отправляя с blat, thebat все отлично  
     
    нет ли каких других консольных почтовых клиентов

    В вопросе и ответ уже содержится В настройках OE проблема, явно не в getmail и батнике. А Outlook и Outlook Express вместе с Exchange могут корки мочить Getmail хорошая прога, другие не помогут, если она не может вытащить. Postie, Zerat можешь попробовать. В варезнике кстати есть ссылки на последнюю бесплатную версию postie.
     

    Цитата:
    поправьте пожалуйста хочу отправить вложения, но почему то не отправляются?

    Все параметры можно занести в текст-файл и:

    Код:

    blat -of file.ext

    типа

    Код:

    echo -to info@domain.ru>blat.ini
    echo -server mail.domain.ru>>blat.ini
    echo -f webmaster@domain.ru>>blat.ini
    echo -charset windows-1251
    ...
    for %%a in (E:\install\GetMail\22\*.xml) do echo -attach %%a>>blat.ini
    blat -of blat.ini

     
     

    Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 17:22 02-06-2008 | Исправлено: igor_andreev, 17:24 02-06-2008
    tolyn77



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

    Всего записей: 1495 | Зарегистр. 07-09-2004 | Отправлено: 17:23 02-06-2008
    JohnRD

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
     
    я уже примерно понял что у Microsoft свои RFC по поводу почты..
    думаю подсадить всех людей на blat по всей Росии %)
     
    с blat.ini  прикольно обязательно сделаю  
     
    вот только мне нужно  
    отсылать из одной папки, куда будут складываться xml  
    удалять после отправки, то что оправил.
    регулировать количество вложений в письме в зависимости от пропускной спос. почтовиков
    и делать это нужно часто  
     
    вот почему не пашет этот скрипт не пойму
    for %%a in (E:\install\GetMail\22\*.xml) do blat -of blat.ini -attach %%~nxF
     
    спасибо за наставления.

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 17:42 02-06-2008 | Исправлено: JohnRD, 17:43 02-06-2008
    igor_andreev

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

    Цитата:
    вот почему не пашет этот скрипт не пойму  

    Дык ты определись, %%~nxa или %%~nxF
     

    Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 17:49 02-06-2008
    01MDM



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

    Цитата:
    1. создать в той ветке переменную prog равную путь_до_ехе_файла\имя_ехе_файла(без расширения, т.е. без .ехе).имя_компа
    2. создать рядом с prog.ехе файлом папку с именем "имя_ехе_файла.имя_компа"
    3. запустить prog.ехе  

     
    Можно и не поверять наличие переменной, а просто создать

    Код:
     
    @echo off
    setlocal
     
    set regpath=hklm\system\controlset001\control\session manager\environment
    reg add "%regpath%" /v prog /t reg_sz /d "%~dp0prog.%computername%" /f
    md "prog.%computername%"
     
    start "" "prog.exe"
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 17:51 02-06-2008 | Исправлено: 01MDM, 17:52 02-06-2008
    Elroir



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

    Цитата:
    пример:  
    prog.exe лежит в C:\folder, тогда переменная должна выглядеть так prog=C:\folder\prog.pc01, и создана папка с именем prog.pc01

     
    Примерно так:

    Код:
     
    @echo off
    setlocal
    reg query "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v prog 1>nul 2>&1
    if "%errorlevel%"=="0" goto cont
    call :create_vars "prog.exe"
    reg add "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v prog /d "%record%" /f 1>nul 2>&1
    :cont
    md "%folder%" 2>nul
    prog.exe
    goto :EOF
     
    :create_vars
    set "record=%~dp1%~n1.%computername%"
    set "folder=%~n1.%computername%"
     


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

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

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
     
    ну да это я тут ошибся
     
    не шлет атачи и все..

    Код:
    E:\install\GetMail>blat -of blat.ini -attach 80020_616402001N_080501_6054.xml
    Blat v2.6.2 w/GSS encryption (build : Feb 25 2007 12:06:19)
     
    Sending stdin.txt to info@domain.ru
    Subject: test
    Login name is webmaster@domain.ru

     
    письма лежат но пустые, всмысле без вложений

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 17:59 02-06-2008 | Исправлено: JohnRD, 18:00 02-06-2008
    XmakcX

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
     
    Извеняюсь за назойливось,но как сделать что при запуске оперы или эксплорера-запусклся батник и обновлял файл с трафиком(хотя можно сделать запуск оперы через этот же батник)?

    Всего записей: 22 | Зарегистр. 01-06-2008 | Отправлено: 18:15 02-06-2008
    igor_andreev

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

    Цитата:
    E:\install\GetMail\22\


    Цитата:
    не шлет атачи и все..  
     
    E:\install\GetMail>blat -of blat.ini ...

    А с чего он будет их слать, если *.xml лежат в папке E:\install\GetMail\22\, а запускаешь ты из папки E:\install\GetMail\. Откуда blat знает, где ему брать этот xml? Или запускай его из папки с xml-ками, которые нужно прикреплять к письму, или в параметре -attach указывай полный путь к файлу(%%F), а не имя-расширение(%%~nxF)
     
    for %%F in (E:\install\GetMail\22\*.xml) do blat -of blat.ini -attach %%F

    Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 18:16 02-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