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

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Спасибо! Вроде показалось, что я всё понял, но вот возникла загвоздка.
    А как быть если наоборот?
     
    Делаю tracert до маил.ру(опять же всё выводится в файл out.txt), как мне взять IPадрес , например первого хопа(tracert mail.ru) и сделать пинг по этому адресу?
     
    И ещё, если не сложно посоветуй или дай ссылку на что нить толковое почитать по "tokens"))

    Всего записей: 7 | Зарегистр. 04-04-2009 | Отправлено: 23:15 12-04-2009 | Исправлено: quaka, 23:19 12-04-2009
    01MDM



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

    Цитата:
    как мне взять IPадрес , например первого хопа(tracert mail.ru) и сделать пинг по этому адресу?  

     
    Если брать первый "хоп", то:

    Код:
     
    @echo off
     
    tracert -h 3 mail.ru 1>out.txt
    for /f "tokens=2 delims=[]" %%i in ('findstr "\<[0-9]\>" out.txt') do (
        ping %%i
        goto:eof
    )
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 00:28 13-04-2009
    batniki



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

    Всего записей: 50 | Зарегистр. 11-02-2008 | Отправлено: 00:37 13-04-2009
    vu1tur



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

    Код:
     
    @echo off
    set a=23
    set /a b=%a% + 1
    echo %a% + 1 = %b%
     


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

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 00:42 13-04-2009
    batniki



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vu1tur, спасибо. Как сделать что-то типа этого %s%%b%% есть переменная s24 которая содержит текст, чтобы её вывести.

    Всего записей: 50 | Зарегистр. 11-02-2008 | Отправлено: 00:51 13-04-2009
    sas1111



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

    .
     
     
    Уточняю по зтой задачке
    1.
     - имеется файл Dannie.DAT  
    нужно прочесть ЗНАЧЕНИЕ (до 8 байт) находящееся в адресах <смещение и байт начало>до<смещение и байт конца>. занести считанное значение в File1.dat  , перевести значение в 10-тичное и записать в File2.TXT. Адреса и имена передаются как параметры при запуске.  
    типа <файл данных> <начало> <конец значения> File1.dat File2.txt  
     
     xxx.bat Dannie.dat 00001053 0000105А File1.dat File2.txt
     
     
    2.
                         Если можно и пример обратного варианта.
                       Имена файлов оставлю по аналогии с первым вопросом
    File1.dat     - двоичное значение
    File2.TXT     - десятичное значение
    Dannie.dat - сюда записываем данные  
    D -параметр -десятичное значение .  H-двоичное значение данных в файле FileX.dat  
             -типа-
    yyy.bat Dannie.dat 0000EE53 0000EE5А File1.dat H
    или
    yyy.bat Dannie.dat 0000DF4F 0000DF56 File2.txt D
     
    -_-_-_-_-_-_-_-_-_
     
    За раннее с Благодарностью.!!.
     
     
     
    .
     
     

    Всего записей: 7 | Зарегистр. 12-04-2009 | Отправлено: 00:56 13-04-2009
    quaka

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

    Всего записей: 7 | Зарегистр. 04-04-2009 | Отправлено: 01:35 13-04-2009 | Исправлено: quaka, 01:36 13-04-2009
    01MDM



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

    Цитата:
    Так как ты написал получается, что пингуется третий хоп

     
    У меня пингуется пингуется первый хоп из таблицы трассировки (тот, что первый в текстовом файле), заголовок не обрабатывается.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 08:38 13-04-2009
    stepplers



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Уважаемые, подскажите, что неправильно в написании cmd файла? Хочу запустить вторую копию µTorrent_a:
     
    echo off
    "%Programfiles%\torrent\uTorrent.exe /recover"
    echo torrent finished.
     
    Пишет "Неверно задано имя папки." В Тотале с коммандной строки запускается... Как правильно записать cmd файл. что-бы запускались обе копии:
     
    echo off
    "%Programfiles%\utorrent\uTorrent.exe"
    "%Programfiles%\torrent\uTorrent.exe /recover"
    echo torrent finished.
     
    Первая копия запускается и cmd-файл останавливается.
    Папки разные...

    Всего записей: 72 | Зарегистр. 18-12-2004 | Отправлено: 11:53 13-04-2009
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    stepplers
    примерно так  
    Код:
    echo off
    start "" "%Programfiles%\utorrent\uTorrent.exe"
    start "" "%Programfiles%\torrent\uTorrent.exe" /recover
    echo torrent finished.

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 12:10 13-04-2009
    AnGo



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

    Цитата:
    echo Working >> mes.log
    echo %TIME% >> mes/log  

    По крайней мере, ночь отработала без проблем.
    Попробовал несколько модифицировать код, как-то не нравиться мне, что висит черное окно без вывода и не ясно, работает или потихоньку висит . Так вот попробовал так

    Код:
     
    echo Working >> mes.log
    echo %TIME% >> mes.log
    echo %TIME%
     

    Виснет. Видимо есть где-то какое-то ограничение. Типа буфера, наполняется, и все, трындец. Приехали, последняя остановка. Пробовал очищать экран, виснет, зараза, теперь уже на пустом экране.  
    Интересно, всё-таки, что это такое. Что-то я не припомню, что бы в батниках были какие-то ограничения на объем выводимой информации на экран. Или уже забыл?
    В общем, граждане, у кого какие будут соображения?

    Всего записей: 1078 | Зарегистр. 07-07-2002 | Отправлено: 13:07 13-04-2009 | Исправлено: AnGo, 13:08 13-04-2009
    quaka

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Давай сравним таблицы))
    Вот такая таблица и пингуется "92.255.81.1", покажешь свою?)
     
    C:\Documents and Settings\Администратор>tracert -h 3 mail.ru
     
    Трассировка маршрута к mail.ru [194.67.57.226]
    с максимальным числом прыжков 3:
     
      1    81 ms     3 ms   199 ms  10.5.9.254
      2    19 ms     2 ms   147 ms  10.5.9.254
      3   171 ms     1 ms     9 ms  p1.vsevnet.ru [92.255.81.1]
     
    Трассировка завершена.

    Всего записей: 7 | Зарегистр. 04-04-2009 | Отправлено: 14:20 13-04-2009 | Исправлено: quaka, 14:20 13-04-2009
    sas1111



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    .
    Здравствуйте.
    Всех приветствую.  Помогите пожалуйста ...(чуть впереди спрашивал...)  
    с решением одной проблемы с помощью батника  
     
    Ситуация такая - имеется файл Dannie.DAT  
    нужно прочесть ЗНАЧЕНИЕ (до 8 байт) находящееся в< адрес начало значения>до<адрес конца >. занести считанное значение в File1.dat  и.. т.д  
     
    Очень надо... плз    Спасибо.
    .

    Всего записей: 7 | Зарегистр. 12-04-2009 | Отправлено: 14:24 13-04-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    quaka
     
    У меня все в квадратных скобках. Тогда такой вариант:

    Код:
     
    @echo off
    setlocal
    ::tracert -h 5 mail.ru 1>out.txt
     
    for /f "skip=3 tokens=*" %%i in ('more +3 out.txt') do call:set "%%i" & goto:eof
    goto:eof
     
    :set
     
    set "str=%~1"
    set "str=%str:<=%"
    set "str=%str:[=%"
    set "str=%str:]=%"
     
    for %%i in (%str%) do set ip=%%i
    ping %ip%
     

     

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



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

    Цитата:
    stepplers  
    примерно так  
    Код:  
    echo off  
    start "" "%Programfiles%\utorrent\uTorrent.exe"  
    start "" "%Programfiles%\torrent\uTorrent.exe" /recover  
    echo torrent finished.

    Отлично! Большое спасибо! Совсем забыл за двойные кавычки, где-то в 3-м разделе было разжевано. Надо-бы снова пройтись по этому разделу полностью, много интересного нашел...

    Всего записей: 72 | Зарегистр. 18-12-2004 | Отправлено: 16:57 13-04-2009 | Исправлено: stepplers, 16:59 13-04-2009
    strat

    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    каким образом можно обрезать кучу пробелов в конце txt файле вида, т.е. пробелы только в конце. файл такого вида получается при сохранении из excel в текстовый формат колонки где стоят формулы и значащие только несколько первых. без применения утилит и vbs, чисто батником это возможно?
     
    1234454563574575sfsdgagdsghsfghsfhsh
    1234454563574575sfsdgagdsghsfghsfhsh
    1234454563574575sfsdgagdsghsfghsfhsh
    1234454563574575sfsdgagdsghsfghsfhsh
           

    Всего записей: 459 | Зарегистр. 27-12-2005 | Отправлено: 17:05 13-04-2009 | Исправлено: strat, 17:07 13-04-2009
    ju ja

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    помогите пожалуйста заставить вычислять батник
     
    for /f "tokens=1,2,3,4,5 delims=,:. " %%c in ("%%~ta") do (
    echo %%c%%d%%e%%f%%g %%a
    set /a t4=%%f%%*60+%%g%%
    if "time:~0,1%"=="0"(
    set t1=%time:1,1%
    ) else (
    set t1=%time:~0,2%)
     
    if "time:~3,1%"=="0"(
    set t2=%time:4,1%
    ) else (
    set t2=%time:~3,2%)
     
    set /a t3=%%t1%%*60+%%t2%%-15
    if %%t4%% LSS %%t3%% del "%%a"

    Всего записей: 10 | Зарегистр. 22-03-2009 | Отправлено: 20:15 13-04-2009
    sas1111



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    .
     
    Господа.!.  
                   Ну кто может подсказать варианты  
    чтения нескольких Байт с файла (см.на73й) и запись туда...  
       
         Пните в нужном направлении с каким-либо примерчиком...
    .
    .очень надо..
    .

    Всего записей: 7 | Зарегистр. 12-04-2009 | Отправлено: 20:20 13-04-2009 | Исправлено: sas1111, 21:42 13-04-2009
    Ortios



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

    Код:
     
    @echo off
    setlocal enabledelayedexpansion
    for /f "tokens=*" %%i in (test.txt) do (
    set str=%%i
    echo !str: =!>>test1.txt
    )
    endlocal
     


    Всего записей: 73 | Зарегистр. 24-12-2007 | Отправлено: 20:45 13-04-2009
    strat

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

    Всего записей: 459 | Зарегистр. 27-12-2005 | Отправлено: 22:16 13-04-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-2025

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru