2016-03-07 118 views
1

我被卡住了,可以对此批处理脚本使用一些帮助。
%output%即使有空格也能给出正确的路径。
%input%给我Error: The file 'C:\Input' could not be opened for reading: open file error.
该代码是如此相似,我不明白为什么它读取一个,但不是其他。
我试了"input=C:\Input folder\"input="C:\Input folder\"但仍然没有。无法在Bat文件中获得正确路径中的空格

我得到一个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 

回答

1

尝试(在你可以用双quotes.Still分隔元素的通配符将工作):

@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 
+0

谢谢您的答复。但是这并没有解决问题。它甚至不会再执行命令。 – Jon

+0

我认为这是一个罕见的情况之一,你想第一个'“'在右边的'='。 – SomethingDark

+0

很高兴再次见到你@SomethingDark。它看起来像它把'”和“'在随机位置错误文本。 '错误:文件'文件夹'输入-s eng -title“C:\ Input'无法打开以供阅读:打开文件错误。”# – Jon

相关问题