Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Перебор файлов в цикле аналогично маске (http://forum.oszone.net/showthread.php?t=241953)

pretzel 04-09-2012 01:00 1982513

Перебор файлов в цикле аналогично маске
 
Постановка задачи:
Имеется каталог "videos" с множеством подкаталогов и файлов *.mp4 в них. Необходимо к каждому файлу применить команду
Код:

MP4Box.exe  -inter 500 file.mp4
Я пытался обойтись командой
Код:

MP4Box.exe  -inter 500 *.mp4
- не работает.
Решил написать файл cmd, но к сожалению тоже не рабит

Код:

For /D /R %%I In (*.mp4) Do MP4Box.exe -inter 500 "%%~nxI"
pause

В чем может быть проблема?

pretzel 04-09-2012 01:16 1982522

Вернее даже так: если видеофайлы, MP4Box.exe и файл cmd лежат в одной дирректории, то нижеприведенная команда работает:
Код:

For %%I In (*.mp4) Do MP4Box.exe -inter 500 "%%~nxI"
pause

Вопрос в том, как производить такие же действия с видеофайлами , когда они лежат в каталоге "videos"?

Molchune 04-09-2012 12:20 1982736

Цитата:

Цитата pretzel
Вернее даже так: если видеофайлы, MP4Box.exe и файл cmd лежат в одной дирректории, то нижеприведенная команда работает: »

сам же ответил на свое вопрос
HTML код:

For %%I In (d:\videos\*.mp4) Do d:\путьдофайла_MP4Box.exe -inter 500 "%%~dpI"

megaloman 04-09-2012 12:55 1982755

Цитата:

Имеется каталог "videos" с множеством подкаталогов и файлов *.mp4 в них. Необходимо к каждому файлу применить команду
Код:

@Echo Off
FOR /F "usebackq delims=" %%i IN (`Dir d:\videos\*.mp4 /b /s /A:-D`) DO @echo %%i

Вместо
@echo %%i
нарисуйте свою команду, что-то типа
"d:\путьдофайла_MP4Box.exe" -inter 500 "%%i"

Вот еще вариант For (читаем подсказку For /?)
Код:

FOR /R d:\videos %%i IN (*.mp4) DO @echo %%i

pretzel 04-09-2012 23:46 1983199

К сожалению ни один из предложенных вариантов не помог.
Код:

"C:\Program" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Цитата:

(читаем подсказку For /?)
то что у каждой команды есть подсказка я думаю об этом итак все знают. и я в том числе.

решил проблему как писал выше, положив видео файлы в один каталог с программой

Iska 05-09-2012 00:17 1983214

pretzel, обратите внимание на выделенное в примерах:
Цитата:

Цитата megaloman
нарисуйте свою команду, что-то типа
Код:

"d:\путьдофайла_MP4Box.exe" -inter 500 "%%i"
»

Цитата:

Цитата Molchune
Код:

For %%I In (d:\videos\*.mp4) Do "d:\путьдофайла_MP4Box.exe" -inter 500 "%%~dpI"
»



Время: 23:45.

Время: 23:45.
© OSzone.net 2001-