Работа с bat файлом
-
Добрый день. Не могу разобраться с bat файлом.
Сделал следующий bat файл, чтобы узнать продолжительность видео.
echo off
for /f "tokens=1,2 delims=x" %%i in ('"ffprobe -v error -select_streams v:0 -show_entries stream=Duration,Width -of csv=s=x:p=0 D:\1\93139515398.mp4"') do set width=%%i &set Dur=%%j
echo %width%
echo %dur% > D:\1\BBBB.txtКогда запускаю самостоятельно - всё записывает в файл "BBBB.txt" корректно (выдает секунды)
Когда делаю "Запуск процесса" из BAS - выдает в файле "BBBB.txt" ECHO is off.
В чем причина? Подскажите, пожалуйста..
-
@poison008 said in Работа с bat файлом:
Добрый день. Не могу разобраться с bat файлом.
Сделал следующий bat файл, чтобы узнать продолжительность видео.
echo off
for /f "tokens=1,2 delims=x" %%i in ('"ffprobe -v error -select_streams v:0 -show_entries stream=Duration,Width -of csv=s=x:p=0 D:\1\93139515398.mp4"') do set width=%%i &set Dur=%%j
echo %width%
echo %dur% > D:\1\BBBB.txtКогда запускаю самостоятельно - всё записывает в файл "BBBB.txt" корректно (выдает секунды)
Когда делаю "Запуск процесса" из BAS - выдает в файле "BBBB.txt" ECHO is off.
В чем причина? Подскажите, пожалуйста..
Пример с cyberforum.ru ? )
Когда вы используете действие "Запустить Процесс" BAS сам создаёт bat файл с кодом указанным в действии и выполняет его. Но выполняет он с диска, на котором находится сам скрипт, проверить ваш код я не могу, по этому попробуйте проверить код с переключением на диск D:
echo off D: for /f "tokens=1,2 delims=x" %%i in ('"ffprobe -v error -select_streams v:0 -show_entries stream=Duration,Width -of csv=s=x:p=0 D:\1\93139515398.mp4"') do set width=%%i &set Dur=%%j echo %width% echo %dur% > D:\1\BBBB.txt -
This post is deleted!
-
@tet-vivi said in Работа с bat файлом:
@poison008 я не спец по bat и шелл,
но разве вы в 1 строке(echo off) не отключили команду echo?
а потом пытаетесь вывести отключенной командой в файлp.s. я почти не знаю bat и шелл. чисто логическое рассуждение
Я тоже в этом не шарю, но сама команда вне BAS работает, поэтому дело не в этом)) В файл всё записывается при запуске батника вручную..А при запуске процесса из BAS нет. Он просто меняет итог на Echo is on
-
This post is deleted!
-
This post is deleted!
-
@Bigma said in Работа с bat файлом:
echo %Dur% > D:\1\BBBB.txt
Не работает. Там 2 переменные, 1 можно удалить, но это ничего не меняет. Вторую я для себя оставил, но он даже одну не выводит. Обратите внимание, что bat файл вне BAS работает.
-
This post is deleted!
-
@poison008 said in Работа с bat файлом:
@Bigma said in Работа с bat файлом:
echo %Dur% > D:\1\BBBB.txt
Не работает. Там 2 переменные, 1 можно удалить, но это ничего не меняет. Вторую я для себя оставил, но он даже одну не выводит. Обратите внимание, что bat файл вне BAS работает.
отключите echo off и посмотрите какие ошибки выводит скрипт
-
This post is deleted!
-
Короче "рабочая папка" укажи где ffprobe лежит, и все будет работать.
У меня сработало.
ffprobe положил в корень диска С
либо в самой команде путь указать, тогда не надо будет папку выставлять
for /f "tokens=1,2 delims=x" %%i in ('"c:\ffprobe -v error -select_streams v:0 -show_entries stream=Duration,Width -of csv=s=x:p=0 C:\test.y4m"') do set width=%%i &set Dur=%%j