自定义命令参数引号不起作用

请求类型:
BUG

MCEBuddy 版本与类型(32位或64位):
MCEBuddy 2.4.7 32位

操作系统与类型(32位或64位):
Windows 7 Professional 32位

问题或建议概述:
我一直在使用 MCEBuddy 2.4.7 32位 – 20170627 测试版,并配合一个使用自定义命令的配置文件。自从升级到 2.4.7 正式版后,这些命令不再正确地为传递给自定义命令的参数添加引号。以下是我的 profiles.conf 片段:

PoseCustomCommandPath=C:\Resources\TvRecordingM.exe
PostCustomCommandParameters="source=\"%convertedfile%\" orig=\"%sourcefile%\" delete=true"

在 20170627 版本中,参数会带有引号(例如:TvRecordingM.exe source=“D:\Output\Some File.mkv” orig=“D:\DVR\Some File.mkv” delete=true)。更新后,参数不再带引号(例如:TvRecordingM.exe source=D:\Output\SomeFile.mkv orig=D:\DVR\SomeFile.mkv delete=true),导致文件名中包含空格(几乎所有文件都有空格)时解析出错。是否有什么发生了变化?谢谢。

附加转换日志

當然,當我回復到對我來說最後一個可用的版本時,我舊的轉換日誌被移除了。我將不得不在某個停機時間使用發行版本重新建立。

沒有任何變化,參數正如自訂命令中所指定的那樣傳遞。

請試著移除命令參數周圍的額外引號,它應該像這樣:

PostCustomCommandPath=C:\Resources\TvRecordingMver.exe
PostCustomCommandParameters=source=“%convertedfile%” orig=“%sourcefile%” delete=true

每個程式處理輸入參數和引號的方式都不同,有些無法處理整體被引號包住的參數,有些則無法處理巢狀引號。

例如,在使用命令列時,Windows 總是將引號成對連接,並在下一個空格處拆分參數,因此當你使用以下命令列參數時:

“source=”%convertedfile%" orig=“%sourcefile%” delete=true"

Windows 命令列會將其轉換為以下參數:

"source="C:\Users\Public\Videos\Continuum\Season
01\S01E09-Family
Time.mp4" orig="C:\Users\ramit\Desktop\Continuum
-
S01E9
-
2015-02-25.ts" delete=true"

然而,當你使用(沒有開頭和結尾的引號):

source=“%convertedfile%” orig=“%sourcefile%” delete=true

Windows 命令列會將其轉換為:

source
"C:\Users\Public\Videos\Continuum\Season 01\S01E09-Family Time.mp4"
orig
"C:\Users\ramit\Desktop\Continuum - S01E9 - 2015-02-25.ts"
delete
true