1

当我在我的 comspec 行中使用文字文件路径时,我将标准输出提供给变量,但为什么我不能使用变量来代替我想要分析的文件名?

请注意, mediainfo 已经(成功地)在其自己的参数中使用了 % 符号。那么如何让 comspec 将 %LongPath% 视为实变量?我已经尝试在 %Longpath% 周围添加一对额外的引号,但没有运气。

Loop %0%
{
Path := %A_Index%
Loop %Path%, 1
LongPath = %A_LoopFileLongPath%
SplitPath LongPath, OutFileName, OutDir, OutExtension, OutNameNoExt, OutDrive

objShell := ComObjCreate("WScript.Shell")
objExec := objShell.Exec(comspec " /c C:\MediaInfo.exe --Inform=Video;%FrameRate% %LongPath%")
framerate := ""
while, !objExec.StdOut.AtEndOfStream
 framerate := objExec.StdOut.ReadAll()

msgbox %framerate%
}

感谢一些专业知识。

4

1 回答 1

0

关键是将应用程序名称和参数括在引号中,(并确保在最后一个引号之前留出一个额外的空格),然后不要在引号中包含您的最终变量。

于 2013-02-27T19:41:48.683 回答