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

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

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

    Цитата:
    Может кто-нить перелить это bc-1.05?  

    http://slil.ru/26467244

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 09:08 22-12-2008
    Lapochka ili Chai



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, как проверить из батника, успешно ли зарарился файл или папка?
    (если всё успешно, то мне надо стереть предыдущий архив, а если нет, то не стирать)
    У меня WinRar 3.0

    Всего записей: 847 | Зарегистр. 27-11-2003 | Отправлено: 11:24 22-12-2008
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lapochka ili Chai
    (win)rar ...
    if %errorlevel%==0 del/q ...
     
     
    Добавлено:
    для общего развития
    запускаем winrar
    нажимаем F1
    переходим на вкладку "Поиск"
    вбиваем "Коды"

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 12:29 22-12-2008 | Исправлено: Nagual, 12:43 22-12-2008
    real_LEM



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

    Цитата:
    Да вот... мне бы её собственно говоря. Batch Enhancer не выложит кто-нить?

     
    Вот последняя версия BE из имеющихся у меня - http://slil.ru/26467762

    Всего записей: 461 | Зарегистр. 11-09-2002 | Отправлено: 12:42 22-12-2008
    Lapochka ili Chai



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nagual
    Большое спасибо за
    Цитата:
    if errorlevel==0 del/q ...  

     
     

    Цитата:
    нажимаем F1  
    не работает:  

    errorlevel там тоже нет:

    В любом случае, большое спасибо за помощь!

    Всего записей: 847 | Зарегистр. 27-11-2003 | Отправлено: 12:53 22-12-2008
    SAOPP

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    real_LEM
    Да, это именно та тулза из NU Спасибо.

    Всего записей: 1048 | Зарегистр. 28-11-2004 | Отправлено: 13:36 22-12-2008
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lapochka ili Chai
    исправил сообщение, errorlevel должен быть обрамлен в знаки процента, это переменная
     
    коды возврата на русском

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 14:15 22-12-2008
    macxxxxx

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    не подскажите как запустить эти батники -
     
    первый батник:
     
    xcopy "C:\xxx\R\*.zip" "F:\DOC\*.*"
    echo Y| xcopy "C:\xxx\R\*.*" "C:\xxx\R\ARH\DOC\122008\*.*"
    echo Y| del "C:\xxx\R\*.*"
    UnZip sef.zip
    echo Y| xcopy "F:\DOC\*.sef" "C:\zzz\*.*"
    echo Y| xcopy "F:\DOC\*.zip" "C:\zzz\*.*"
    echo Y| del "F:\DOC\*.sef"
    echo Y| del "F:\DOC\*.zip"
     
    2-й батник:
     
    @Echo Off
    Set f_Ext=xml
    Set f_Count=1
    For %%a In (*.%f_Ext%) Do @Call :Rena %%a %%~ta
    GoTo :EOF
    :Rena
    Set /a f_Count=%f_Count%+1
    Set f_Name=%1
    Set f_Date=%2
    Set f_Time=%3
    Set f_Day=%f_Date:~0,2%
    Set f_Month=%f_Date:~3,2%
    Set f_Year=%f_Date:~6,4%
    Set f_Hour=%f_Time:~0,2%
    Set f_Min=%f_Time:~3,2%
    Set f_NewName=%f_Day%%f_Month%a
    If Exist %f_NewName%.%f_Ext% Set f_NewName=%f_NewName%%f_Count%
    Ren %f_Name% %f_NewName%.%f_Ext%
    GoTo :EOF
     
    из одного батника, чтобы не нужно было их запцскать по очереди в ручную? Дело в том что таких много и в ручнцю их запускать долго и можно ожибится с очерёдностью...  
     
    call почему-то не прокатывает, первый батник (который и запускает по очереди эти 2 скрипта) конце имеет команду (соственно не вжно, хоть pause поставить) и после 2-го скрипста всё закрывается не выполнив комаду первого...  

    Всего записей: 9 | Зарегистр. 22-12-2008 | Отправлено: 11:56 23-12-2008
    AvgustiN



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    mike345S
     
    Спасибо Вам! Попробую поэкспериментировать. Если получится, то напишу полный кусочек батничка...

    Всего записей: 84 | Зарегистр. 04-11-2006 | Отправлено: 13:19 23-12-2008
    noiseless

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    macxxxxx
    Создаешь такой бантик:
    start /w batnik_1.bat
    start /w batnik_2.bat

    Всего записей: 182 | Зарегистр. 06-02-2006 | Отправлено: 13:50 23-12-2008
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть ли возможность в батнике поставить паузу на 4 секунды, если не выбран пункт меню батника, то продолжить по умолчанию.

    Цитата:
    echo.
    ECHO 1 - setup pause
    ECHO 2 - continue
    ECHO ___________________
    SET /P Choice=
    IF /I '%Choice%'=='1' GOTO 1
    IF /I '%Choice%'=='2' GOTO 2
     
    :1
    pause
     
    :2

    В данном примере нужно, чтоб при выборе "setup pause"выполнение приостановилось (это есть), при выборе "continue" - продолжение выполнения батника. Но нужно ещё, чтобы если ничего не выбрать, то через 4 секунды выполняется пункт "continue". В справке не нашёл, может есть спец-утилитка для этого?
     
    Ещё вопрос: хотел сделать батник, чтоб мог вытащить из реестра пути к пользовательским папкам из WinPE. К примеру подключить куст реестра NTUSER.DAT, экспортировать из него нужные ветки в reg-файл. Теперь проблема - преобразовать reg-файл, то есть удалить строки начинающиеся на [HK, сделать замену текста, чтоб в файле остался только путь. Фактически хочу сделать ярлык (к батнику) кликнув на который, открылась бы папка "Мои документы". Есть ли хотя бы возможность сделать поиск и замену текста?
     
     
     


    ----------
    home

    Всего записей: 4409 | Зарегистр. 03-05-2006 | Отправлено: 17:49 23-12-2008
    OLEHbKA

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

    Всего записей: 7 | Зарегистр. 24-11-2008 | Отправлено: 19:48 23-12-2008
    Keviiiiiiiiiin

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите решить!
    1. Среди файлов, расположенных в каталоге C:\WinNT найти самый длинный файл.  
    2. Все буквы r в именах файлов заменить на буквы p.  
    3. Написать bat-файл, показывающий содержимое своего параметра. Если параметр - каталог, то должно выдаваться содержимое (список файлов) каталога, если файл - содержимое (текст) файла.  
    4. Написать файл, запускающий программу helр с одним параметром. Если параметр не задан, или задано больше одного параметра, должно выдаваться сообщение об ошибке.  
    5. Написать bat-файл, выдающий на экран номер своего запуска. (Т.е. первый раз вы-дающий "1", второй - "2", и т.д.).

    Всего записей: 1 | Зарегистр. 23-12-2008 | Отправлено: 21:39 23-12-2008
    macxxxxx

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    noiseless
    Спасибо, оказалось в параметрах среды косяк, а именно в PATCH из-за oracl-a эта команда не выполнялась.
     
    У меня ещё вопросик, можно ли средствами бата нажимать кнопки? Т.е. допустим бат запускает прогу и в этой проге нао нажать ентр, а после F3 и выйти из программы, реально ли это?

    Всего записей: 9 | Зарегистр. 22-12-2008 | Отправлено: 09:40 24-12-2008
    GORA2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Если переменная, например, %var1% содержит путь с "недопустимыми" в батнике символами (!, %, и т.д.), то можно ли:
    1 определить наличие таких символов в пути и выдать пользователю соответствующее предупреждение
    2 исправить путь в переменной для его дальнейшей корректной обработки?  
     
    Заранее спасибо за ответ.

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 10:05 24-12-2008
    noiseless

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    OLEHbKA
    rar u archive *.txt - если надо обновить в архиве archive.rar все текстовые файлы, которые обновились
     

    Цитата:
    macxxxxx
    У меня ещё вопросик, можно ли средствами бата нажимать кнопки? Т.е. допустим бат запускает прогу и в этой проге нао нажать ентр, а после F3 и выйти из программы, реально ли это?

    Скорее всего, нет, т.к. это уже не из области использования bat-файлов, а API.

    Всего записей: 182 | Зарегистр. 06-02-2006 | Отправлено: 10:13 24-12-2008 | Исправлено: noiseless, 10:24 24-12-2008
    Elroir



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

    Цитата:
    1. Среди файлов, расположенных в каталоге C:\WinNT найти самый длинный файл.  


    Код:
     
    @echo off
    for /f "tokens=*" %%a in ('dir c:\winnt\*.* /a-d /o-s /b') do echo %%a & goto :EOF
     


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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 12:03 24-12-2008
    king_stiven

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

    Цитата:
    можно ли средствами бата нажимать кнопки?

    Утилита nircmdc.exe делает
     
    nircmdc.exe sendkey enter down
    nircmdc.exe sendkey enter up

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 14:18 24-12-2008
    Elroir



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

    Цитата:
    2. Все буквы r в именах файлов заменить на буквы p.


    Код:
     
    @echo off
    setlocal enabledelayedexpansion
    for %%a in (*.*) do (
    set "file=%%a"
    set "file=!file:r=p!"
    ren "%%a" "!file!"
    )
     

     

    Цитата:
    3. Написать bat-файл, показывающий содержимое своего параметра. Если параметр - каталог, то должно выдаваться содержимое (список файлов) каталога, если файл - содержимое (текст) файла.


    Код:
     
    @echo off
    cd "%~1" 2>nul && ( dir & cd..) || type "%~1"
     



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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:37 24-12-2008
    Elroir



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

    Цитата:
    4. Написать файл, запускающий программу helр с одним параметром. Если параметр не задан, или задано больше одного параметра, должно выдаваться сообщение об ошибке.  


    Код:
     
    @echo off
    if "%~1"=="" goto error
    if not "%~2"=="" goto error
    help %~1
    goto :EOF
    :error
    echo Error - wrong number of parameters
     

     

    Цитата:
    5. Написать bat-файл, выдающий на экран номер своего запуска. (Т.е. первый раз вы-дающий "1", второй - "2", и т.д.).


    Код:
     
    @echo off
    if not defined run_num set "run_num=0"
    set /a "run_num+=1"
    echo %run_num%
     


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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:29 24-12-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 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