我被困了,可以对这个批处理脚本使用一些帮助
%output%
即使有空格也能给出正确的路径
%input%
给了我Error: The file 'C:\Input' could not be opened for reading: open file error.
代码是如此类似,我不明白为什么它读一个而不是另一个
我尝试使用"input=C:\Input folder\"
和input="C:\Input folder\"
,但仍然没有。
我通过HTA文件中的jscript获取文件夹路径。
如果我将输入更改为没有C:\Input\
提前致谢。
@echo off & setlocal
set input=C:\Input folder\
set output=C:\Output folder\
set PATH=%PATH%;C:/Program Files/MKVToolNix/
for %%a in (%input%*.mkv) do ( mkvmerge -q -o "%output%%%~na%%~xa" -s eng --title %%a "%%a"
if errorlevel 1 (
echo Warnings generated!
) else (
for %%b in (%output%*.mkv) do ( mkvpropedit -q "%output%%%~na%%~xa" --edit track:s1 --set flag-default=1
if errorlevel 1 (
echo %%~na%%~xa - Error!
) else (
echo %%~na%%~xa - Complete.
)
)
)
)
endlocal
pause
答案 0 :(得分:1)
尝试使用(因为你可以用双引号分隔元素。仍然可以使用通配符符号):
@echo off & setlocal
set "input=C:\Input folder\"
set "output=C:\Output folder\"
set PATH=%PATH%;C:/Program Files/MKVToolNix/
for %%a in ("%input%*.mkv") do (
mkvmerge -q -o "%output%%%~na%%~xa" -s eng --title %%a "%%a" || (
echo Warnings generated!
) && (
for %%b in ("%output%*.mkv") do (
mkvpropedit -q "%output%%%~na%%~xa" --edit track:s1 --set flag-default=1 || (
echo %%~na%%~xa - Error!
) && (
echo %%~na%%~xa - Complete.
)
)
)
)
endlocal
pause