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

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

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

    Цитата:
    ping -n 61 localhost 1>nul 2>&1

    а не подойдет что ли

    Цитата:
    waitfor anything /T 60

    Всего записей: 273 | Зарегистр. 26-04-2003 | Отправлено: 01:14 24-05-2009
    HaK1R



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

    Цитата:
    Цитата:
    ping -n 61 localhost 1>nul 2>&1
     
    а не подойдет что ли
     
    Цитата:
    waitfor anything /T 60  

    У меня нет утилита для проверки его правильности, но если команда написана правильно то можно заменить ping на нее.  
     
    Первый пример универсален, поскольку ping.exe есть на во всех сборках, а что касается waitfor то у меня нет такого утилита,  думаю что не только у меня, а значит с батником тебе еще надо таскать сторонние утилиты, что не удобно.
    Также для этих целей есть утилит sleep.exe
     
     
    Добавлено:
    tatuchipapa

    Цитата:
    Если скомпилировать *.bat в *.exe, можно ли запустить этот *.exe как службу в WinXP?

    А почему нет? Думаю можно

    Цитата:
    Имеет ли смысл менять ping ya.ru на ping r0.ru, если среднее значение пинга для ya.ru 984mc, для r0.ru 125мс?

    Команда пинг проверяет соединение с инетом, и если пинг есть на r0.ru то есть и на ya.ru, так что не вижу смысла в этом. Единственное что это изменит это то что команда запроса на r0.ru будет выполняться быстрее чем на ya.ru, но как сказал программа будет работать по прежнему правильно.

    Всего записей: 136 | Зарегистр. 04-05-2009 | Отправлено: 11:15 24-05-2009 | Исправлено: HaK1R, 11:34 24-05-2009
    dmik

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    HaK1R
    waitfor в штатной комплектации появилась на 2003 и vista, для более старых ОС надо качать.

    Всего записей: 273 | Зарегистр. 26-04-2003 | Отправлено: 12:56 24-05-2009 | Исправлено: dmik, 13:06 24-05-2009
    Bigmozg

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет всем, стоит задача:
    Создать пакетный файл tri.bat, при вызове которого могут быть заданы параметры – имена трех других файлов. Проверить наличие параметров и су-ществование этих файлов. Для обработки файлов обеспечить последовательный вызов еще одного пакетного файла, сбрасывающего все ранее установленные атрибуты файла-параметра и устанавливающего новый набор атрибутов – скрытый, доступный только для чтения.
    Как поставить атрибуты файла - понятно. Как проверить наличие файлов - тоже. Как внутри этой программы сделать создание файла? Заранее спасибо  

    Всего записей: 1 | Зарегистр. 24-05-2009 | Отправлено: 14:06 24-05-2009
    HaK1R



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    dmik
    Возможно ты прав, у меня WinXP SP3, и чтобы не качать пользуюсь ping.exe
     
    Добавлено:
    Bigmozg
    _____tri.bat_____

    Код:
    @echo off
    set /p "PARAM1=Enter name of file1"
    set /p "PARAM2=Enter name of file2"
    set /p "PARAM3=Enter name of file3"
    if exist "%PARAM1%" start "" cmd.exe /c atr.bat "%PARAM1%"
    if exist "%PARAM2%" start "" cmd.exe /c atr.bat "%PARAM2%"
    if exist "%PARAM3%" start "" cmd.exe /c atr.bat "%PARAM3%"

     
    _____atr.bat_____

    Код:
    @echo off
    attrib +h +s +r "%~1"

     
    А что еще надо?

    Цитата:
    Как внутри этой программы сделать создание файла?

    какого файла? если текстового то просто поставить в него запись

    Код:
    .>file.txt 2>nul

     

    Всего записей: 136 | Зарегистр. 04-05-2009 | Отправлено: 14:58 24-05-2009 | Исправлено: HaK1R, 15:28 24-05-2009
    garri671



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

    Цитата:
    Папка остается, удаляется только ее содержимое

    Спасибо все получилось!
    Подскажи как что бы результат в файл сбрасывался?

    Всего записей: 133 | Зарегистр. 18-07-2007 | Отправлено: 10:45 25-05-2009 | Исправлено: garri671, 13:41 25-05-2009
    Smart_Chameleon

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день уважаемые форумчане! просвятите пожалуйста начинающего (причем совсем начинающего): нужен примерный текст в батнике, чтобы "взять текстовый файлик из папки и перекинуть его в другую папку и потом запустить опр-ую почтовую программу" ?? спасибо

    Всего записей: 4 | Зарегистр. 25-05-2009 | Отправлено: 11:18 25-05-2009
    vmix



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Еще раз ... ко всем:
     
    Каким образом можно перекодировать Bin2Ascii или Hex2Ascii в пакетном файле.
    Все это нужно для разбора bin/hex параметров реестра.
    Может быть для этого уже есть готовые скриптовые средства?
     
    Спасибо.

    Всего записей: 162 | Зарегистр. 22-10-2002 | Отправлено: 11:46 25-05-2009
    HaK1R



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

    Код:
    @echo off
    REM откуда
    set "PATH1=C:\text.txt"
    REM куда
    set "PATH2=C:\12\text.txt"
    REM петь к программе
    set "PATH3=C:\proga.exe"
    copy "PATH1" "PATH2"
    del /f /q "PATH1"
    start "" "%PATH3%"


    Всего записей: 136 | Зарегистр. 04-05-2009 | Отправлено: 12:48 25-05-2009
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    vmix
    если я правильно понял, что нужно, то hexdump может.

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

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    HaK1R
     
    громадное спасибо - выручил просто..

    Всего записей: 4 | Зарегистр. 25-05-2009 | Отправлено: 15:22 25-05-2009
    khrusTby

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вроде нашел решение своей задачи, только вот не врубаюсь, как получить имя активного юзьверя после ">".  Мот кто подскажет?  
    for /f "tokens=2" %%a in ('query user ^| findstr ">.*"') do (  set n_us=%%a )

    Всего записей: 10 | Зарегистр. 20-05-2009 | Отправлено: 17:17 25-05-2009
    HaK1R



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

    Код:
    for /f "tokens=2" %%a in ('query user ^| findstr ">.%username%"') do (  set n_us=%%a )

    Всего записей: 136 | Зарегистр. 04-05-2009 | Отправлено: 17:59 25-05-2009
    garri671



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

    Цитата:
    @echo off  
    pushd "%SystemDrive%\DOCUME~1\"  
    for /f "tokens=*" %%a in ('dir /b /ad') do (  
      if exist "%%~a\LOCALS~1\Temporary Internet Files\" (  
        pushd "%%~a\LOCALS~1\Temporary Internet Files\"  
        del /f /s /q /asrha *  
        rmdir /s /q . 2>nul  
        popd  
      )  
    )  
    popd

     
    Все прекрасноработает! А как результат работы сбросить в файл?

    Всего записей: 133 | Зарегистр. 18-07-2007 | Отправлено: 07:53 26-05-2009
    HaK1R



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

    Всего записей: 136 | Зарегистр. 04-05-2009 | Отправлено: 09:56 26-05-2009
    garri671



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

    Цитата:
    Отчет в смысле что было удалено, или какого рода?

    Что было удалено - это большой объем, что команда исполнена без ошибок

    Всего записей: 133 | Зарегистр. 18-07-2007 | Отправлено: 11:20 26-05-2009
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Лимит страниц, продолжение:
    http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1

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

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:39 26-05-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