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

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

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

vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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-файлах 6
(часть 1, часть 2, часть 3, часть 4, часть 5)
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.

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

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





    http://forum.ru-board.com/topic.cgi?forum=62&topic=17154

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 23:07 04-11-2008 | Исправлено: vu1tur, 11:38 26-05-2009
    lorents



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

    Код:
    startw inject.exe "prince.bf"

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 21:24 02-01-2009
    demon1981



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

    Цитата:
    startw inject.exe "prince.bf"

    видать скрипт на языке BRAINFUCK
    типа того запускается inject.exe и ему в параметрах передается строка prince.bf

    Всего записей: 189 | Зарегистр. 28-03-2007 | Отправлено: 22:34 02-01-2009 | Исправлено: demon1981, 22:49 02-01-2009
    Lutvun



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

    Всего записей: 286 | Зарегистр. 22-11-2005 | Отправлено: 15:37 04-01-2009
    01MDM



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

    Код:
     
    @echo off
    setlocal
     
    set /p fstring=<1.txt
    echo %fstring%
    more +1 1.txt 1>1.tmp
    move 1.tmp 1.txt
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 16:19 04-01-2009
    Lutvun



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




    спасибы — в ПМ!

    Всего записей: 286 | Зарегистр. 22-11-2005 | Отправлено: 17:39 04-01-2009 | Исправлено: vu1tur, 17:48 04-01-2009
    Nuke142



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    а какой командой можно ярлык для файла и вывести на рабочий стол ?
     
    upd: nirmcd....
     
    upd2:
    а как вот такое организовать ?
     
    нужно сделать ярлык на файл, при наличии этого файла, на рабочий стол.
    если файла нет, то ничего не произойдет.
     
    делать ярлык через nircmd я понял как. а как проверить существование нужного мне файла ?

    Всего записей: 302 | Зарегистр. 03-04-2008 | Отправлено: 21:43 05-01-2009 | Исправлено: Nuke142, 22:23 05-01-2009
    Elroir



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

    Код:
     
    if exist test.txt (
    echo Exists
    ) else (
    echo Not exists
    )
     


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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 22:52 05-01-2009 | Исправлено: Elroir, 22:53 05-01-2009
    Nuke142



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Elroir, спасибо за решение. Я думал что с if связано, но я в этом деле сильный новичек.
    А что за скобки такие ? зачем ) и ( ?
    И вообще после какого момента твоего скрипта можно писать then или саму команду создания ярлыка ?

    Всего записей: 302 | Зарегистр. 03-04-2008 | Отправлено: 23:35 05-01-2009 | Исправлено: Nuke142, 23:36 05-01-2009
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nuke142
    Скобки определяют блок команд. Первая пара скобок определяет блок команд "then", вторая - блок команд "else". Вместо "echo Exists", вставляй свою команду. Если не нужен блок "else" - его можно не писать.

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

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



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

    Всего записей: 2317 | Зарегистр. 11-12-2006 | Отправлено: 09:47 06-01-2009
    Rotorina



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, всех с праздничками!
     
    Нужно благодаря батника с ПК№2 зайти на сетевой ресурс ПК№1(Сервер2003), пройти авторизацию и скопировать из заданого каталога самый свежий архив (*.rar)
     
    Вот на чем я остановился

    Код:
    Net use \\Server\1cBackUp /user:[User] [Password]
     
     
    Подскажите как реализовать копирование файла, которые является самым свежим?
    Все файлы в данном каталоге имеют вид: 1cBackUp_200901051200
    Пасиба

    Всего записей: 109 | Зарегистр. 03-08-2007 | Отправлено: 12:57 06-01-2009 | Исправлено: Rotorina, 13:38 06-01-2009
    nonar



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

    Всего записей: 210 | Зарегистр. 15-04-2007 | Отправлено: 14:00 06-01-2009
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    nonar
    robocopy - самое лучшее решение

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:31 06-01-2009
    GKV



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вышло так, что свой комп с выделенкой приходится использовать как RAS сервер, причем для входящих dial-up соединений используется обратный звонок (call back). (Т.е. мой модем перезванивает обоненту.)  
    Все работает, но проблема заключается в следующем: если удаленный юзер сам (либо по какой-то причине) разрывает соединение, мой модем не вешает трубку, т.е. так и остается висеть на линии. Соответственно повторного соединения установить не удается.  
     
    Возникает вопрос, как это исправить в винде?  
     
    Либо помогите написать батник:
     
    1. Происходит проверка состояния RAS подключения (не знаю команды) и если оно активно переходит в п.2 если нет проверяется снова.
    2. Выполняется команда ping 192.168.1.33 для проверки видимости удаленного компа (например раз в 1-2 минуты).
    3. Соответственно если происходит сбой в соединении и комп не виден выполняется разрыв активного входящего соединения командой rasdial "Internet" /d.
    4. Переходим в п.1  
    ________________________  
     
    Как написать батник, чтобы разрывать RAS соединение на удаленном компе с соответствующими правами?  
    ________________________  
     
    Зарание благодарен!

    Всего записей: 29 | Зарегистр. 12-01-2006 | Отправлено: 18:39 06-01-2009 | Исправлено: GKV, 18:46 06-01-2009
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    GKV
    Может таки проще разрывать соединение по таймауту при неактивности, чем городить такой костыль?

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 19:14 06-01-2009
    GKV



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vu1tur
    В настройках соединения опция неактивна.
    Вообще я думал что модем автоматом должен бы сбрасываться при коротких гудках, но что-то не так. (может из-за того что он CallBack делает).

    Всего записей: 29 | Зарегистр. 12-01-2006 | Отправлено: 20:12 06-01-2009 | Исправлено: GKV, 20:14 06-01-2009
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    GKV
    проблемы с настройкой — это всё же в другой раздел
    А если решать батником, то вот есть пример выполнения команд по результату команды ping. Его можно банально через шедулер запускать.

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 21:51 06-01-2009
    GKV



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Написал следующее, но что-то не работает (в синтаксисе не силен)

    Код:
     
    @Echo
    :EOF
    Ping -n 5 192.168.1.33 >Nul
    If ErrorLevel 1 (Goto :EOF)
    If ErrorLevel 0 (
        rasdial "Internet" /d
        GoTo :EOF
    )
    GoTo :EOF
     

    Всего записей: 29 | Зарегистр. 12-01-2006 | Отправлено: 23:00 06-01-2009
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    GKV

    Код:
     
    @echo off
    for /f %%a in ('rasdial ^| findstr "Internet"') do set "connstr=%%a"
    if %connstr% neq Internet ( goto :eof )
    ping -n 1 192.168.1.33 >nul
    If ErrorLevel 1 (echo rasdial "Internet" /d && goto :eof)
    If ErrorLevel 0 (goto :eof)
    :eof
     

     
    Но это не очень красивое решение. Пинг — штука не особо надёжная, на самом деле.

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 00:05 07-01-2009 | Исправлено: vu1tur, 00:06 07-01-2009
    kirik64



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

    Цитата:
    Подскажите плз, как при выполнении батника определить, запущен ли определенный процесс и, если запущен, приостановить батник до завершения процесса?

    Поскольку никто не отвечает, поразмышляю сам...
    Приостановить, видимо, невозможно.
    Задача: запускается служба, затем стартует FineReader.exe, передает управление Finemodel.exe и сам по себе закрывается. Когда закрывается Finemodel.exe, останавливается и служба. Вот мое рабочее, но корявое решение, хотелось бы сделать его более элегантным с помощью гуру /не нравится в первую очередь постоянное обращение к find.exe, да и петля /

    Код:
    @echo OFF
    net start ABBYY.Licensing.FineReader.Professional.9.0
    start FineReader.exe
     
    :LOOP
    tasklist | find "Finemodel.exe" && goto LOOP
     
    net stop ABBYY.Licensing.FineReader.Professional.9.0
    exit

    Всего записей: 2317 | Зарегистр. 11-12-2006 | Отправлено: 03:15 07-01-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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 6
    vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru