Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 7

Автор: menl
Дата сообщения: 08.11.2009 21:41
помогите кто может, есть такая задача
в папке файлы с расширением .264 и .m4a к примеру 5s.264, 6s.264, 7s.264... 5s T80 2_0ch 192Kbps DELAY 0ms.m4a, 6s T80 2_0ch 192Kbps DELAY 0ms.m4a...
общее у них 5s, 6s, 7s, 8s...
надо запустить цикл такого типа
"D:\minep\me_gui\tools\Yamb\MP4Box.exe" -add "5s.264:fps=23.976" -add "5s T80 2_0ch 192Kbps DELAY 0ms.m4a#1" -tmp "E:\\temp\\" "H:\Temp\5s.mp4"

у меня не получается сделать подстановку в первый параметр 5s.264 во второй параметр 5s T80 2_0ch 192Kbps DELAY 0ms.m4a вместе
пробовал
for %%a in (*.264) do for %%b in (*.m4a) do "D:\minep\me_gui\tools\Yamb\MP4Box.exe" -add "%%a:fps=23.976" -add "%%b#1" -tmp "E:\\temp\\" "H:\Temp\%%a.mp4"

проблема в том что параметр %%a после 1 цикла не обновляется на сл файл!!! параметр %%a всегда один и тот же
Автор: king_stiven
Дата сообщения: 09.11.2009 06:42
menl

Цитата:
5s, 6s, 7s, 8s

То есть как миимум 2 первых знака в имени у них одинаковое?

Добавлено:

menl
for %%a in (*.264) do (
"D:\minep\me_gui\tools\Yamb\MP4Box.exe" -add "%%a:fps=23.976" -add "%%~na T80 2_0ch 192Kbps DELAY 0ms.m4a#1" -tmp "E:\\temp\\" "H:\Temp\%%~na.mp4"
)
Автор: mouser
Дата сообщения: 09.11.2009 08:36
имеется 3 файла 1.txt 2.txt 3.txt и xml

Код:
<?xml version="1.0" encoding="windows-1251" standalone="no" ?>
<Root>
<ExpenseItem>
<Name>Item1</Name>
<Time>%1%</Time>
</ExpenseItem>
<ExpenseItem>
<Name>Item2</Name>
<Time>%2%</Time>
</ExpenseItem>
<ExpenseItem>
<Name>Item3</Name>
<Time>%3%</Time>
</ExpenseItem>
</Root>
Автор: king_stiven
Дата сообщения: 09.11.2009 09:30
mouser
sed ом?
Автор: mouser
Дата сообщения: 09.11.2009 09:36
king_stiven
паралельно чем но нужно чтоб данные из определенных файлов попали в определенные места ... на xml вроде видно куда должно попасть
Автор: soft111
Дата сообщения: 09.11.2009 10:11
mugil_cephalus Спасибо за помощь!

1) файлы в которых надо удалить пустую строку находятся в С:\test

По поводу второго вопроса строка выглядит так: <a href="https://login.site.com/app/signup/confirm.cgi?u=name1&uid=2074563"><font face="verdana,helvetica" color="#FF6905" style="font-size: 11px">https://login.site.com/app/signup/confirm.cgi?u=name1&uid=2074563</font></a><br><br> (все написано в одну строку, напоминаю, нужно оставить только 1 url, сайт не меняется, меняются только name1 и 2074563, причем name1 может быть больше 5 символов. Текстовые файлы распологаются, допустим в папке C:\test2
Автор: mouser
Дата сообщения: 09.11.2009 11:15
с последним разобрался ... а вот как на счёт того что если сужествует текст в определённом месте >> сделать ***
Автор: bigfoothart
Дата сообщения: 09.11.2009 12:41
mugil_cephalus


Цитата:
for /f %%A in ('net use...') do call :_1 %%A

:_1
if "%1" equ "20"
if "%1" equ "67"
if "%1" equ "1057"
goto :eof



Это уже ближе к истине, но выхлоп выдается в виде

"Системная ошибка 1326.

Вход в систему не произведен: имя пользователя или пароль не опознаны."

То есть по идее нужен 3-й token, но не пойму как его выделить:


Цитата:

for /f "eol=. tokens=3 delims= " %%A in ('net use \\192.168.0.10\c$ 111 /USER:admin') do call :_1 %%A

:_1
echo test %1
goto :eof


Не получается. В чем может быть причина ? При том, что если подставить в скобки просто файл с следующим содержимым все работает:

Цитата:

"Системная ошибка 1326.

Вход в систему не произведен: имя пользователя или пароль не опознаны."


И еще вопрос можно ли из вывода убить все строки кроме первой ?
Автор: Maqentaer
Дата сообщения: 09.11.2009 14:00

Цитата:
И еще вопрос можно ли из вывода убить все строки кроме первой ?

можно примерно так.

Код: for .... do do call :_1 %%A &goto ext
:ext
Автор: Alexandrr555
Дата сообщения: 09.11.2009 14:49
Помогите пожалуйста студенту первокурснику


Задание 3.
Используя команды пакетной обработки, создать командный файл для того, чтобы:

1.создает файл, имя которого задано первым параметром пакетного файла
2.спрашивает у пользователя, переименовать ли файл (новое имя задано во втором параметре)
3.в зависимости от ответа – переименовывает файл






Задание 4.
Создать пакетный файл, который:

1.спрашивает у пользователя, создать ли каталог, имя которого задано первым параметром пакетного файла. Если пользователь отвечает положительно, создает каталог, если отрицательно – спрашивает у пользователя, нужно ли переименовать текущий (не корневой) каталог (новое имя задано во втором параметре)
2.спрашивает у пользователя, создать ли в каталоге, имя которого задано первым параметром, текстовый файл, имя которого задано вторым параметром пакетного файла.
3.в зависимости от ответа пользователя, создает файл
Автор: ndch
Дата сообщения: 09.11.2009 15:46
Alexandrr555
Сам за это время мог бы освоить.
Иди "скопировать" - это обсуждалось.
Зачем второй раз постишь ?

Тебе под xp ?


Цитата:
создает файл

Какого содержимого ?

Задание 3.

Код: echo. > %1
Set /p var="Переименовать ? (y) "
if %var%==y ren %1 %2
Автор: mugil_cephalus
Дата сообщения: 09.11.2009 16:59
bigfoothart
а чего пишет?
запусти в консоли батник со скриптом:
echo on
for /f "eol=. tokens=3 delims= " %%A in ('net use \\192.168.0.10\c$ 111 /USER:admin') do echo _%%A_
и покажи листинг (можешь подретушировать листинг, если в нем будет приватная инфа)
кстати, можно без eol и delims: "tokens=3"

я думаю, наверное, нужно перед циклом вставить chcp 1251 и еще вот так попробуй - for /f "tokens=3" %%A in ('"net use \\192.168.0.10\c$ 111 /USER:admin"') do echo _%%A_




Цитата:
И еще вопрос можно ли из вывода убить все строки кроме первой ?

меня тоже интересует этот вопрос, но пока на готовое решение не натыкался
Но если у тебя будет проверка в процедуре

Цитата:
:_1
if "%1" equ "20"
if "%1" equ "67"
if "%1" equ "1057"
goto :eof

то 3-ие tokens с последующих строк не помешают
Автор: mugil_cephalus
Дата сообщения: 09.11.2009 17:21
soft111

@echo off
for %%A in (C:\test\*.txt) do call:_1 %%A
goto :eof

:_1
1>nul 2>nul for /f "tokens=*" %%i ('type %1') do (echo %%i>C:\test\%~n1_.txt && del /q %1 && ren C:\test\%~n1_.txt %~nx1)
goto :eof

p.s.
только сначала протестируй скрипт и
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!

Добавлено:
soft111

Цитата:
<a href="https://login.site.com/app/signup/confirm.cgi?u=name1&uid=2074563"><font face="verdana,helvetica" color="#FF6905" style="font-size: 11px">https://login.site.com/app/signup/confirm.cgi?u=name1&uid=2074563</font></a><br><br>

это не url, а html-код
Автор: Trrrbit
Дата сообщения: 09.11.2009 17:57
Всем привет!

Скажите пожалуйста, как создать бат-файл который будет делать слудующее:
1.Включать и ставить в режим АВТО службу "Планировщик заданий"
2.Бат-файл, который перезагружает копм (shutsown -r -f -t 10 c "Good buy, loser!") копируется в автозагрузку
3.В планировщике заданий ставится запустить этот батник в определенное время или через период времени.

Или какой-нить другой вариант, который, скажем, через 10 дней начнет перезагружать комп при старте системы
Автор: soft111
Дата сообщения: 09.11.2009 18:10
mugil_cephalus

я знаю, что это html, вот как раз с текстового файла с таким содержанием нужно выдернуть url https://login.site.com/app/signup/confirm.cgi?u=name1&uid=2074563
Автор: mugil_cephalus
Дата сообщения: 09.11.2009 18:12
soft111

Цитата:
По поводу второго вопроса строка выглядит так: <a href="https://login.site.com/app/signup/confirm.cgi?u=name1&uid=2074563"><font face="verdana,helvetica" color="#FF6905" style="font-size: 11px">https://login.site.com/app/signup/confirm.cgi?u=name1&uid=2074563</font></a><br><br> (все написано в одну строку, напоминаю, нужно оставить только 1 url, сайт не меняется, меняются только name1 и 2074563, причем name1 может быть больше 5 символов. Текстовые файлы распологаются, допустим в папке C:\test2



@echo off
for %%A in (C:\test2\*.txt) do call:_1 %%A
goto :eof

:_1
1>nul 2>nul for /f "tokens=4* delims=:" %%a ('"type %1"') do (echo https:%%a%%b>C:\test2\%~n1_.txt && del /q %1 && ren C:\test2\%~n1_.txt %~nx1)
goto :eof


если код верный, должен удалиться первый url и остаться второй


Добавлено:
soft111

Цитата:
я знаю, что это html,

я думал задача будет полегче - с url'om
Автор: soft111
Дата сообщения: 09.11.2009 18:19
mugil_cephalus

У меня что то не первый не второй скрипт не работают, вообще ничего не делают, все пробелы удалил, все файлы лежат в папках test и test2, в чем может быть причина?
Автор: mugil_cephalus
Дата сообщения: 09.11.2009 18:24
soft111

Цитата:
я знаю, что это html, вот как раз с текстового файла с таким содержанием нужно выдернуть url https://login.site.com/app/signup/confirm.cgi?u=name1&uid=2074563

только щас прочитал твой последний комент - тогда скрипт неверный:
он удаляет <a href="https://login.site.com/app/signup/confirm.cgi?u=name1&uid=2074563"><font face="verdana,helvetica" color="#FF6905" style="font-size: 11px"> и оставляет https://login.site.com/app/signup/confirm.cgi?u=name1&uid=2074563</font></a><br><br> то есть html-код

Добавлено:
soft111
про задачу №1
покажи листинг (поставь echo on и удали 1>nul 2>nul)
echo on
for %%A in (C:\test\*.txt) do call:_1 %%A
goto :eof

:_1
for /f "tokens=*" %%i ('type %1') do (echo %%i>C:\test\%~n1_.txt && del /q %1 && ren C:\test\%~n1_.txt %~nx1)
goto :eof
Автор: soft111
Дата сообщения: 09.11.2009 18:37
Вот результат выполнения первой задачи, во 2 задаче почти та же ошибка: Непредвиденное появление: ('"type C:\test2\1.txt"').



Цитата:
C:\Documents and Settings\Администратор>C:\test\1111.bat

C:\Documents and Settings\Администратор>echo on

C:\Documents and Settings\Администратор>for %A in (C:\test\*.txt) do call:_1 %A


C:\Documents and Settings\Администратор>call:_1 C:\test\1.txt
Непредвиденное появление: ('type.

C:\Documents and Settings\Администратор>for /f "tokens=*" %i ('type C:\test\1.tx
t') do (echo %i>C:\test\1_.txt && del /q C:\test\1.txt && ren C:\test\1_.txt 1.t
xt)

C:\Documents and Settings\Администратор>
Автор: mugil_cephalus
Дата сообщения: 09.11.2009 18:43
soft111
нашел ошибку (знал бы где упасть - подстелил соломку)

Добавлено:
@echo off
for %%A in (C:\test\*.txt) do call:_1 %%A
goto :eof

:_1
1>nul 2>nul for /f "tokens=*" %%i in ('type %1') do (echo %%i>C:\test\%~n1_.txt && del /q %1 && ren C:\test\%~n1_.txt %~nx1)
goto :eof
Автор: soft111
Дата сообщения: 09.11.2009 19:04
Теперь пишет: Непредвиденное появление: for %i in
Автор: mugil_cephalus
Дата сообщения: 09.11.2009 19:04
Trrrbit

Цитата:
1.Включать и ставить в режим АВТО службу "Планировщик заданий"
2.Бат-файл, который перезагружает копм (shutsown -r -f -t 10 c "Good buy, loser!") копируется в автозагрузку
3.В планировщике заданий ставится запустить этот батник в определенное время или через период времени.

1 sc /?
2 reg add /?
3 SCHTASKS /Create /?

Добавлено:
soft111

Цитата:
Теперь пишет: Непредвиденное появление: for %i in

что, так дословно и пишет???
покажи листинг (так вроде не должен писать)

echo on
for %%A in (C:\test\*.txt) do call:_1 %%A
goto :eof

:_1
for /f "tokens=*" %%i in ('type %1') do (echo %%i>C:\test\%~n1_.txt && del /q %1 && ren C:\test\%~n1_.txt %~nx1)
goto :eof
Автор: soft111
Дата сообщения: 09.11.2009 19:14
Последний код вставил, все отработал без ошибок, но в файле он пустую строку не удалил, а добавил в конце первой строки еще пробел.
Автор: mugil_cephalus
Дата сообщения: 09.11.2009 19:25
soft111

Цитата:
Последний код вставил, все отработал без ошибок, но в файле он пустую строку не удалил, а добавил в конце первой строки еще пробел.

1) интересно...
F:\Documents and Settings\admin>for /?
Выполнение указанной команды для каждого файла набора.

.............................
Набор содержит имена одного или нескольких файлов, которые по очереди
открываются, читаются и обрабатываются. Обработка состоит в чтении
файла, разбивки его на отдельные строки текста и выделения из каждой
строки заданного числа подстрок (в том числе нуля). Затем найденная
подстрока используется в качестве значения переменной при выполнении
основного тела цикла. По умолчанию ключ /F выделяет из каждой строки файла
первое слово, очищенное от окружающих его пробелов. Пустые строки
в файле пропускаются.
Необязательный параметры "ключи" служит для
переопределения заданных по умолчанию правил обработки строк. Ключи
представляют собой заключенную в кавычки строку, содержащую указанные
параметры. Ключевые слова:

.........................................

2) покажи листинг (можешь text, если он приватный, "заретушировать", типа ... echo text>C:\test.......)
Автор: soft111
Дата сообщения: 09.11.2009 19:35
я код программы не изменяю, оставляю как есть и пути тоже сохраняются C:\test

В текстовом файле написано:


Цитата:
slovo


После отрабатывания батника, он добавляет еще к slovo пробел.
Автор: mugil_cephalus
Дата сообщения: 09.11.2009 19:36
soft111
сделал себе такое же - строку не убрал, зато "нарисовал" еще 130 пробелов
Автор: soft111
Дата сообщения: 09.11.2009 19:37
, где есть у нас ошибочка
Автор: mugil_cephalus
Дата сообщения: 09.11.2009 19:55
soft111


F:\Documents and Settings\admin>c:\for31.bat

F:\Documents and Settings\admin>echo on

F:\Documents and Settings\admin>for %A in (C:\test\*.txt) do call:_1 %A

F:\Documents and Settings\admin>call:_1 C:\test\5.txt

F:\Documents and Settings\admin>for /F "tokens=*" %i in ('type C:\test\5.txt') do (echo %i 1>C:\test\5_.txt && del /q C:\test\5.txt && ren C:
\test\5_.txt 5.txt )

F:\Documents and Settings\admin>(echo _text_ 1>C:\test\5_.txt && del /q C:\test\5.txt && ren C:\test\5_.txt 5.txt )

F:\Documents and Settings\admin>goto :eof

F:\Documents and Settings\admin>goto :eof

F:\Documents and Settings\admin>



теперь аналогично - плюс пробел, строку не убрал
(посмотрю листинг - синтаксически вроде верно составил код - буду искать что ему не нравится - ведь судя по справке он должен пустую строку пропускать)

причем пробел то можно сделать, чтоб не рисовал его, но почему строку пустую не убирает???
Автор: soft111
Дата сообщения: 09.11.2009 20:09
mugil_cephalus, у меня тоже такой результат выполнения программы, никаких ошибок, но и задачу свою не выполняет (((
Автор: Lorderons
Дата сообщения: 09.11.2009 20:48
помогите написать bat файл.

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

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778

Предыдущая тема: во вкладке автозагрузка


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.