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

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

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

    Код:
     
    start /wait a.cmd
    start /wait b.cmd
    c.cmd
     

     
    если так, то будет ли ждать завершения предыдущего - последующий??  
    1.cmd

    Код:
     
    cmd /c a.cmd
    cmd /c b.cmd
    cmd /c c.cmd
     

     
    можно ли скрестить start /wait и cmd /c   ??
     
    спасибо
    Евгений
     

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 12:30 26-02-2007
    KapralBel



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

    Код:
     
    @Echo Off
    Call 1.cmd
    Call 2.cmd
    call 3.cmd

    Батнички 1,2,3 - будут выполнятся по очереди

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:12 26-02-2007
    cluster

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

    Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 13:25 26-02-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    cluster
    Тебе надо удаленно?
    А как быть в таком случае с таерминал серверами, где подключен не один пользователь
     
    или только текущего?

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:38 26-02-2007
    cluster

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

    Цитата:
    Тебе надо удаленно?

    да-да, именно так.
     

    Цитата:
    А как быть в таком случае с таерминал серверами, где подключен не один пользователь  

    на это мне всё равно, нужно только для рабочих станций

    Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 14:02 26-02-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    cluster
    http://www.optimumx.com/download/netusers.zip

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:16 26-02-2007
    cluster

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
    вот, уже неплохо. пасипа. осталась половина дела.

    Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 14:42 26-02-2007
    5ar5



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

    Всего записей: 36 | Зарегистр. 23-02-2006 | Отправлено: 15:55 26-02-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    5ar5
    Набор GNU утилит для win32
    Там есть утилита GSAR - она поможет тебе

    Код:
     
    GSAR -s:013 -r File.txt Temp.txt
    GSAR -s:010 -r Temp.txt Result.txt


    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:22 26-02-2007
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    5ar5
    А какой команды? Можно самому себе сделать *.COM файл с функциональностью ECHO, но без вставки на конце символа перевода строки CR\LF
     

    Код:

    @ECHO OFF
    > #.SCR ECHO N _CHO.COM  
    >>#.SCR ECHO E 0100 BB 80 00 43 80 3F 0D 75 FA C6 07 24 B4 09 BA 82  
    >>#.SCR ECHO E 0110 00 39 DA 7F 02 CD 21 B4 4C CD 21  
    >>#.SCR ECHO RCX  
    >>#.SCR ECHO 001B  
    >>#.SCR ECHO W  
    >>#.SCR ECHO Q  
    >>#.SCR ECHO.  
    DEBUG<#.SCR>NUL  
    DEL #.SCR  
     
    _CHO %DATE% >TEST.TXT
    _CHO TEST FIRST WORD >>TEST.TXT
    _CHO TEST SECOND WORD >>TEST.TXT

    Получившийся 27-байт файл _CHO.COM(обозвать, как угодно) бросить в папку, прописанную в PATH и пользоваться при надобности вместо ECHO.
     
    Добавлено:
    KapralBel
    Тоже хотел еще написать, что консольных утилит для замены или удаления CRLF уйма существует, но все мне известные делают это во всем файле сразу Приходится иногда командой _CHO пользоваться.

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 16:24 26-02-2007
    ViSiToR



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

    Цитата:
    Можно самому себе сделать *.COM файл с функциональностью ECHO, но без вставки на конце символа перевода строки CR\LF

    Это же отличное решение! зачем тогда сторонние утилиты нужны?
     
    Это дело нужно отметить помещением в шапку!      
     
    Добавлено:

    Цитата:
    Это дело нужно отметить помещением в шапку

    Отметил :
     
    Вывод данных в файл без создания новой-пустой строки на конце файла (CRLF)
     
    Поставил как первую строку в списке под Готовые решения и частые вопросы: - нормально?


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 22:50 26-02-2007
    igor_andreev

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

    Цитата:
    Вывод данных в файл без создания новой-пустой строки на конце файла (CRLF)  

    Ужасная формулировка Причем здесь конец файла? Конец файла - это символ с кодом кажется 26.  
    CR\LF - это Carriage Return\Linefeed (возврат каретки\перевод строки), символы с кодом 13 и 10. В Windows служит знаком перевода строки. В Линуксах и Mac обычно пользуются чем нить-одним, или 13 или 10. Такие файлы наверно многие видели, открываешь текстовой файл в блокноте, а там непонятные квадратики и весь текст сплошняком. Это потому-что виндовый блокнот не воспринимает 13 или 10 по-отдельности как перевод строки, ему подавай, чтоб они рядом стояли.

    Цитата:
    зачем тогда сторонние утилиты нужны?
    А этот COM-файл что, не сторонняя?
    Цитата:
    Поставил как первую строку в списке под Готовые решения и частые вопросы:
    Имхо, нафих он там не нужен, это не частый вопрос, первый раз за два года спросили на моей памяти. Обычно регулярно спрашивают, как создать файл с именем текущей даты или как запустить батник скрытно
     
     
     

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 23:57 26-02-2007
    Elroir



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

    Цитата:
    А этот COM-файл что, не сторонняя

    Она не сторонняя, а "батнико-встроенная" . Все равно лучше чем отдельна утилита, которую надо держать рядом.
     
    ViSiToR
    Согласен с igor_andreev - формулировка не очень. И уж точно не подходит на первое место .
    Может "Запись текста в файл без перевода(перехода) строки"?

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:23 27-02-2007
    MUSICFROMWEB



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

    Цитата:
    InSe0F
    Пробежался по теме - несколько раз поднимался вопрос о VPN.
    Создай батник с следующей строчкой:
     
    Код:
    rasdial имя_ВПН_соединения username password
     
    и кинь его в автозагрузку.

     
    Тогда такой вопрос (возможно ламерский, так как не шарю):
    Вот допустим ВПН с первой попытки не сконнектил (там ошибка 800 или что-то подобное), команда прекратит выполнение.
    Какой нужен скрипт, чтобы зациклить команду установки впн соединения, но с проверкой, не установлено ли уже это соединение на предыдущей попытке и прекратить выполнение скрипта?
     
    Заранее (и потом тоже скажу ) спасибо!

    Всего записей: 427 | Зарегистр. 01-05-2006 | Отправлено: 01:25 27-02-2007
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MUSICFROMWEB
    По всякому можно. Можно IP проверять или пинговать например какой-нибудь сервер

    Код:

    :TRY_DIAL
    CLS
    RASDIAL connection diallogin dialpass
    PING -n 1 host
    IF ERRORLEVEL 1 GOTO :TRY_DIAL

     

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 01:36 27-02-2007 | Исправлено: igor_andreev, 01:38 27-02-2007
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не подскажете, имеется ли какая консольная утилита которая бы раскодировала файлы из текстового формата в бинарный (надеюсь, правильные термины употребляю). Т.е. в файлах EML почтовые проги сохраняют аттачи, закодированные буквами латинского алфавита. Надо выдрать их из EML-файла (это не проблема) и привести в первозданный вид.

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 07:53 27-02-2007 | Исправлено: Tipulatoid, 07:55 27-02-2007
    Smitis



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

    Цитата:
    Если нужно набросал автоинсталлер M$ хотфиксов для WinXp

    Вот тут целая тема есть, заглохшая. Попробуй её поднять. http://forum.ru-board.com/topic.cgi?forum=62&bm=1&topic=3432#1

    Всего записей: 3452 | Зарегистр. 09-02-2003 | Отправлено: 10:38 27-02-2007 | Исправлено: Smitis, 10:40 27-02-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Tipulatoid
    Взглянь в сторону 7-zip по заверениям работает с UUE-кодированием, но сам не пробовал

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:46 27-02-2007
    ViSiToR



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

    Цитата:
    Ужасная формулировка

    Дай другую, менее ужасную .
     

    Цитата:
    Причем здесь конец файла? Конец файла - это символ с кодом кажется 26.  

    При том, что перевод строки и возврат каретки происходит в конец файла (в данном случае).
     

    Цитата:
    А этот COM-файл что, не сторонняя?

    Нет, как написал Elroir, это:
     

    Цитата:
    батнико-встроенная

       
     

    Цитата:
    Имхо, нафих он там не нужен, это не частый вопрос, первый раз за два года спросили

    Но зато теперь это решение всегда под рукой будет , чтобы потом если спросят не искать по всему топику.
     
    Elroir

    Цитата:
    Может "Запись текста в файл без перевода(перехода) строки"?

    Имхо, не совсем верно (и я вообще то не знаю что вы ужасного нашли в моей формулировке), тогда уже так:
     
    “Альтернатива команде ECHO - позволяет выводить текст в файл без перевода строки”

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 11:38 27-02-2007 | Исправлено: ViSiToR, 11:42 27-02-2007
    KapralBel



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

    Цитата:
    Тоже хотел еще написать, что консольных утилит для замены или удаления CRLF уйма существует, но все мне известные делают это во всем файле сразу

    Хм... а как объяснить CLI-утилите где не надо удалять
    Это только ручками в текстовом редакторе
     
     
    А по поводу размещение батнико-встроенной утилиты в шапке
    1. Не настолько это редко встречающаяся проблема
    2. пусть будет
    3. Какая разница на каком месте (если человек читает шапку - он её найдет, если не читает - то безразлично - есть там инфа или нет)
     

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:07 27-02-2007
       

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru