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

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

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nagual
    Если знаешь хоть одну программу, обладающую собственным интеллектом - запости здесь плз Как fsum по твоему должна узнать, где твой файлик находится?
    И параметр -d не обязателен, если проверять текущий каталог.
     
    cd /d d:\твой_длинный_каталог
    fsum -r *>c:\checksum.md5
     
    соответственно вместо -r *(все файлы в корне папки и подкаталогах, так CD проверяют например) подставляешь название или маску своего файлика
     
    и проверить так-же легко:
     
    cd /d d:\твой_длинный_каталог
    fsum --check c:\checksum.md5
     
    Параметров у fsum с гулькин нос, и претензии по поводу длины каталога и соответственно длины комстроки переадресовываются юзеру, создавшему такой длинный путь
     
    Хотя впрочем, если не нравится эта fsum, можешь попробовать альтернативы, fciv.exe от известно кого http://support.microsoft.com/kb/841290 или fastsum тоже нормально работает http://www.fastsum.com/download.php (переименовать fsum.exe в fastsum.exe, дабы с fsum.exe от slavasoft.com не конфликтовала)  
    Правда комстрока еще длиннее будет...

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 14:38 24-03-2007 | Исправлено: igor_andreev, 15:31 24-03-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    аха можно и так, да не, все пашет, уже править в падлу
    значит, по дефолту md5 считает?
    all
    выполняю
    for /f "delims=" %A in ("%CD%") do echo %~nA
    в каталоге, в имени которого есть точки и они пропадают, как их вернуть на место?

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 04:40 25-03-2007
    Elroir



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

    Цитата:
    выполняю  
    for /f "delims=" %A in ("%CD%") do echo %~nA  
    в каталоге, в имени которого есть точки и они пропадают

    Странно - у меня все нормально показывает, с точками.
    Конкретно - на каком названии команда спотыкается?

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 04:48 25-03-2007
    NIKZZZZ



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

    Цитата:
     Если знаешь хоть одну программу, обладающую собственным интеллектом - запости здесь плз  Как fsum по твоему должна узнать, где твой файлик находится?  

    Здесь не интеллектом брать надо, а тупым лбом и чувством юмора.

    Код:
     
    echo off
    for %%i in (c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,x,y,z) do (
      for /f "usebackq" %%j in (`dir /b /s %%i:\%1`) do (
        if "%%~nxj"=="%1"  Echo Vot ona, tvoja filja - %%~fnxj
      )
    )
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 05:31 25-03-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
     
    каталог ™x¤x™ xxx!.files
    выполняю
    for /f "delims=" %A in ("%CD%") do echo %~nA
    получаю
    ™x¤x™ xxx!
    то есть, даже не чисто точка пропадает, а точка и все что за ней ((

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 13:35 25-03-2007
    igor_andreev

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

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 14:03 25-03-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    ага оно самое спс
     
    Добавлено:
    вот елки палки почему то рар не хочет негодяй
    for /f "delims=" %%R in ("%CD%") do (rar a -m5 -os -s -ep1 "%%~nxR" файлик)
    в чем трабла?

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 14:40 25-03-2007
    igor_andreev

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

    Цитата:
    в чем трабла?

    У тебя что-то. Только что попробовал - rar архив создал.
    Запусти этот свой батник с единственной строчкой(даже без @echo off) с перенаправлением в файл test.log и посмотри в test.log, что на чем споткнулось
    test.cmd>test.log
    Ну или второй строчкой pause напиши, видно же все будет

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 15:03 25-03-2007 | Исправлено: igor_andreev, 15:27 25-03-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    ошибок нет
    Добавление файлик                                                    OK
    Готово
     
    разобрался, оказалось надо было поставить расширение рару
    for /f "delims=" %%R in ("%CD%") do (rar a -m5 -os -s -ep1 "%%~nxR".rar файлик)

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 16:00 25-03-2007
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    А как при помощи батника вписать в текстовый файл все имена zip архивов в каталоге  C:\Test, но не построчно, а одной строкой через запятую, типа: arch.zip, my.zip и т.д.

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 16:55 25-03-2007
    llELViSll



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    такой вопрос.
    вот это открывает винамп, но окно с выполнение бат файла висит и не закрывается
     
    echo Y|del "C:\Program Files\!Audio\Winamp\Winamp.m3u"
    echo Y|del "C:\Program Files\!Audio\Winamp\Winamp.m3u8"
    "C:\Program Files\!Audio\Winamp\winamp.exe"
     
    если в 3 строку добавить start, то винамп не запускается. что нужно написать что б и винамп запускался и окно бат файла пропало.

    Всего записей: 284 | Зарегистр. 21-01-2007 | Отправлено: 17:06 25-03-2007
    Maza Faka



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

    Цитата:
    "C:\Program Files\!Audio\Winamp\winamp.exe"

     
    Запускай так:
    Start "" "C:\Program Files\!Audio\Winamp\winamp.exe"

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 17:27 25-03-2007
    Elroir



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

    Цитата:
    А как при помощи батника вписать в текстовый файл все имена zip архивов в каталоге  C:\Test, но не построчно, а одной строкой через запятую, типа: arch.zip, my.zip и т.д.  


    Код:
     
    @echo off
    setlocal enabledelayedexpansion
    for %%a in (c:\test\*.zip) do set "string=!string!, %%~nxa"
    echo !string:~2!>list.txt
     

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 18:58 25-03-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    народ, появилась маза
    есть файлик
    как реализовать добавление ему окончания, используя rar -ag_[yyyy.mm.dd-hh.mm.ss]

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 23:42 25-03-2007
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nagual
    А смысл этого действия? Ну добавит RAR к имени архива текущие дату-время. А дальше что? Переименовать файл и без RAR можно, %DATE% и %TIME:~0,8% еще не отменили. Если тебе нужно по дате создания - пример в шапке есть.

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 23:59 25-03-2007 | Исправлено: igor_andreev, 00:01 26-03-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    просто так удобней расставлять данные, например, изменяя как угодно конечному юзателю букофки yyyy.mm.dd-hh.mm.ss
    к тому же не сработает ведь md %TIME:~0,8%

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 00:37 26-03-2007
    igor_andreev

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

    Цитата:
    просто так удобней расставлять данные

    Ну как один из множества вариантов...
    При извлечении -ad

    Цитата:
    к тому же не сработает ведь md %TIME:~0,8%

    SET i=%TIME:~0,8%
    SET i=%i::=-%
    MD %i%

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 00:50 26-03-2007 | Исправлено: igor_andreev, 00:57 26-03-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    оно
    кароче, опишу полную задачу, а то я все по частям да по частям...
    нужно командой в одну строку создать архив 7z чтобы в имя архива было таким:
    родительский_каталог_имя_архивируемого_файла_полная_дата
    вот над чем бьюсь
    это реально все уложить в одну строку?
     
     
    Добавлено:
    точнее так
    родительский_каталог_полная_дата.7z

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 00:59 26-03-2007
    igor_andreev

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

    Цитата:
    вот над чем бьюсь

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

    Цитата:
    это реально все уложить в одну строку?  

    Попробуй
     

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 01:47 26-03-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    дак там получается два for'а, вот в чем весь прикол или можно в один все уложить?

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 01:59 26-03-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