У меня есть пакетный файл, который вызывает команду, исключающую команду:
forfiles /s /m *.* /c "cmd /c ffmpeg -i C:\dummy.mkv -i @relpath -vcodec copy -acodec copy @relpath.mkv"
Если в качестве параметров @relpath
указан пробел, я получаю сообщение об ошибке:
Нет такого файлаили каталог
Я искал в Интернете один час, но не нашел решения.
Я пытался \"@relpath\"
, ^"@relpath^"
, ""@relpath""
...ничего не помогло.
Любая помощь будет принята с благодарностью, так как мне потребовалось около 4 минут, чтобы найти правильный способ рекурсивного преобразования всех моих файлов, а оставшуюся часть времени нет, чтобы найти решение для такого простогопроблема, поскольку "мой путь к файлу содержит пробелы" ...
[Редактировать /] - из комментариев (преобразовано из изображения и на английский язык).
Пожалуйста, посмотрите здесь, исключение FORFILES /S /P . /C "cmd /c echo @RELPATH && dir @RELPATH"
, которое вы можете увидеть в конце, при выполнении команды dir
, The system cannot find the file specified.
.Если вы вручную наберете dir
с именем файла, он будет работать нормально.Это моя проблема;точно.
C:\dum my>FORFILES /S /P . /C "cmd /c echo @RELPATH && dir @RELPATH"
".\dir 2"
Volume in drive C has no label.
Volume Serial Number is 0CC7-3CE2
Directory of C:\Dum my\dir 2
23/12/2018 20:38 <DIR> .
23/12/2018 20:38 <DIR> ..
23/12/2018 20:38 438 te st.file
1 File(s) 438 bytes
2 Dir(s) 30,868,815,872 bytes free
".\dir1"
Volume in drive C has no label.
Volume Serial Number is 0CC7-3CE2
Directory of C:\Dum my\dir1
23/12/2018 20:38 <DIR> .
23/12/2018 20:38 <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 30,868,815,872 bytes free
".\my file"
Volume in drive C has no label.
Volume Serial Number is 0CC7-3CE2
Directory of C:\Dum my
23/12/2018 20:22 352 my file
1 File(s) 352 bytes
0 Dir(s) 30,868,815,872 bytes free
".\dir 2\te st.file"
The system cannot find the file specified.
C:\Dum my>