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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Если уж так тяжело набрать start /? то вот результат выполнения: Подробнее...
     
    А вот генерация хелпов по всем командам консоли: Подробнее...  
    За нее благодарим Jon_Dow

    ----------
    Всем непричастным рекомендую прогулки на свежем воздухе

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 15:44 18-01-2007 | Исправлено: yurkesha, 15:58 18-01-2007
    rinrintaru

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

    Цитата:
     
    Если уж так тяжело набрать start /?  

     
    Ну неужели думаете, что не читала? Еще до того, как этот форум нашла, пыталась сама разобраться. Только вот где там сказано, почему вроде бы правильно набранный путь, обращающийся к переменным винды, имеющим в своем значении пробелы, не будет запускаться?

    Всего записей: 24 | Зарегистр. 17-11-2006 | Отправлено: 16:08 18-01-2007
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    cmd /? - почти в самом конце... Это общесистемная фича...

    ----------
    Всем непричастным рекомендую прогулки на свежем воздухе

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 16:44 18-01-2007
    Elroir



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

    Цитата:
    Вопрос такой как можно убрать кавычки в строке архиватора в этом эпизоде    


    Код:
    arj a c:\tcpfoss.452\jnin\jour%prevm%.arj  c:\tcpfoss.452\%~4

     
    rinrintaru

    Цитата:
    А теперь объясните, пожалуйста, "для блондинок", зачем в этом коде ставятся двойные кавычки перед путем?

    Команда start, воспринимает все, что находится в первых кавычках (если не используется какой-нибудь ключ), как заголовок нового окна CMD. Поэтому, если запускать start "program folder\program.exe" - открывается новое консольное окно с заголовком "program folder\program.exe". Когда после start идут пустые кавычки - это принимается за заголовок, а все следующие параметры в кавычках воспринимаются уже нормально.    

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 22:01 18-01-2007
    Higher



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Извините за банальность, но трудно написать правильный запрос, от чего не найти желаемого.
     
    нужен простейший bat, который может заменять символы в файлах на другие символы, с учётом того, что файлов много (сразу все, а не каждый по отдельности):
     
    например 1_-_2.mp3
    вместо _ необходим пробел
     
    можно ли сделать автоматизацию для всех файлов сразу, скажем, если все они будут в одной папке?
     
    Спасибо.

    Всего записей: 1986 | Зарегистр. 08-10-2003 | Отправлено: 23:36 18-01-2007 | Исправлено: Higher, 23:37 18-01-2007
    Elroir



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

    Цитата:
    например 1_-_2.mp3  
    вместо _ необходим пробел  


    Код:
     
    @echo off
    setlocal enabledelayedexpansion
    for %%A in (*.*) do (
    set name=%%~nA
    set name=!name:_= !
    ren "%%A" "!name!%%~xA"
    )
     

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:12 19-01-2007
    rinrintaru

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

    Всего записей: 24 | Зарегистр. 17-11-2006 | Отправлено: 02:09 19-01-2007
    Strange



    тутошние мы
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Требуется синхронизация подпапок и файлов с сетевого диска на локальную машину. Можно ли как-то решить эту проблему? или заставить xcopy не перезаписывать имеющиеся файлы?

    ----------
    В вашу pедакцию pазные кpетины пишут всякую чушь. Вот и я тоже pешил.
    --
    Ежели на форуме не будет ни одного матерного слова, то мое мнение так и останется невыраженным

    Всего записей: 2113 | Зарегистр. 07-02-2002 | Отправлено: 12:44 19-01-2007
    nopy4uk

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Уважаемые программисты, подскажите пожалуйста, как мне декодировать тучу файлов (музыка в беспотерьном формате tta), лежащих в разных папках в корне диска, формат папки типа "имя исполнителя - имя альбома" (). Нужно получить файлы с расширением *.wav. Сейчас тупо копирую программу-декодер ttaenc.exe в корень каждой папки и запускаю из под Far-a с ключами "ttaenc.exe -d -u" (d - декодирование из tta в wav, u - удаление исходного файла *.tta) Наверное как то можно автоматизировать сей процесс, а то папок более 500 и занятие это доолгое...

    Всего записей: 2 | Зарегистр. 27-01-2006 | Отправлено: 14:14 19-01-2007
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как я понял полная команда для декодирования: ttaenc.exe -d -u имя_файла.tta? Тогда:
    Код:
    FOR /r %%i IN (*.tta) DO ttaenc.exe -d -u %%i
    Притом ttaenc.exe помещаем в папку прописанную в путях - например %SystemRoot%. Ну либо пишем запуск с полным путем...

    ----------
    Всем непричастным рекомендую прогулки на свежем воздухе

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 14:25 19-01-2007
    Elroir



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

    Код:
     
    @echo off
    setlocal
    set root=c:\
    for /r %root% %%a in (*.tta) do (
    ttaenc.exe -d -u "%%a" "%%~dpa%"
    )
     

    В выделенной строчке, меняешь C:\ на свой диск.
     
    Добавлено:
    Батник должен быть в одной директорие с ttaenc.exe.
     
    Добавлено:
    yurkesha
    Опередил.

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:35 19-01-2007
    Wise_Kaa



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток. Может подскажет кто:  
    1) как запустить задачу из-под другого пользователя с помощью runas без ввода пароля? Т.е. ситуация такая: есть юзер с именем user1, у него пароль userpassword, надо запустить, к примеру, командную строку из под-учетной записи этого пользователя. Основное требование: никакие пароли вручную вводиться не должны.
    такая команда  
    runas /user:user1 cmd.exe <pass.txt  
    не работает (предполагалось, что пароль будет браться из файла pass.txt).
    2) Есть такая программка reg.exe, позволяющая работать с реестром из командной строки. После того, как она отработала, пишется сообщение о ошибке или о успешном завершении операции. Я эти сообщения перенаправляю в текстовый файл. Только они почему-то перенаправляются в кодировке не ДОСа, а windows. В результате в текстовом файле получается символы с разными кодировками, что, согласитесь, не очень удобно. Как обойти такую проблему?
    Заранее спасибо.

    Всего записей: 59 | Зарегистр. 04-01-2006 | Отправлено: 17:03 19-01-2007
    nopy4uk

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    СПАСИБО ребята!!!  
    Щас проверил на одной папке - все работает!!!
    Класс!

    Цитата:
    @echo off  
    setlocal  
    set root=c:\  
    for /r %root% %%a in (*.tta) do (  
    ttaenc.exe -d -u "%%a" "%%~dpa%"  
    )

     
     
    Добавлено:
    Только почему то файлы *.wav все перемещаются в папку C:\WINDOWS\system32 ??

    Цитата:
    Щас проверил на одной папке - все работает!!!


    Всего записей: 2 | Зарегистр. 27-01-2006 | Отправлено: 18:12 19-01-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    nopy4uk
    Очень капризная программа в отношении пути вывода.
    Немного переделал код:

    Код:
     
    @echo off
    setlocal enabledelayedexpansion
    set root=c:\
    for /r %root% %%a in (*.tta) do (
    set outp=%%~dpa
    set outp=!outp:~0,-1!
    ttaenc.exe -d -u "%%a" "!outp!"\  
    )  
     

    Не надо запускать в каждой директории по отдельности - батник проходится по всем директориям на диске, который ты указываешь.
    P.S Я в прошлой версии лишний занчок "%" в последней строчке написал

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:07 19-01-2007 | Исправлено: Elroir, 21:09 19-01-2007
    Elroir



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

    Цитата:
    1) как запустить задачу из-под другого пользователя с помощью runas без ввода пароля?

    http://forum.ru-board.com/topic.cgi?forum=62&topic=6156&start=1780#13

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 23:14 19-01-2007
    Wise_Kaa



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    1)
    Цитата:
    http://forum.ru-board.com/topic.cgi?forum=62&topic=6156&start=1780#13

    мне не подходит такой вариант, так как пароль-то все равно надо вводить, хоть и один раз. Надо сделать таким образом, что бы пароль вообще не нужно было вводить. Он может храниться в открытом виде, главное, что бы его не требовалось вводить, когда батник отрабатывает. Т.е. бат-файл должен отработать полностью без участия пользователя.
    2) а что по второму вопросу? никто не подскажет?

    Всего записей: 59 | Зарегистр. 04-01-2006 | Отправлено: 00:38 20-01-2007
    Elroir



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

    Цитата:
    Надо сделать таким образом, что бы пароль вообще не нужно было вводить

    Стандартный runas не поддерживает такую опцию. В сети можно найти несколько утилит (в том числе улучшенный runas), которые позволяют вводить пассворд, как аргумент.
     

    Цитата:
    2) а что по второму вопросу? никто не подскажет?

    Насколько я знаю, если программа выводут текст в какой-то определенной кодировке - ее невозможно изменить. А что кроме вывода reg.exe записывается в файл?
     

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 01:08 20-01-2007
    Wise_Kaa



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

    Цитата:
    Стандартный runas не поддерживает такую опцию. В сети можно найти несколько утилит (в том числе улучшенный runas), которые позволяют вводить пассворд, как аргумент.  

    Спасибо за разъяснения, хоть не буду искать несуществующее.
     

    Цитата:
    А что кроме вывода reg.exe записывается в файл?  

    Да много чего пишется, просто создается лог-файл, с комментариями, с сообщениями от других программ. И всю эту идилию нарушает другая кодировка reg.exe

    Всего записей: 59 | Зарегистр. 04-01-2006 | Отправлено: 01:22 20-01-2007 | Исправлено: Wise_Kaa, 01:25 20-01-2007
    Higher



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

    Всего записей: 1986 | Зарегистр. 08-10-2003 | Отправлено: 07:51 20-01-2007
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Wise_Kaa
    У меня как-то давно всплыла похожая задача(разные кодировки), что-то там ни на что не реагировало и портило картину лога. Я тогда в конце батника вставил:  
    xcode log.txt log.txt
    Xcode тут. А года два назад на английскую винду совсем перешел, тут все красиво, по-английски

    Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 08:03 20-01-2007 | Исправлено: igor_andreev, 08:06 20-01-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