1

comspec 行でリテラル ファイルパスを使用すると stdout が変数に供給されますが、分析したいファイル名の代わりに変数を使用できないのはなぜですか?

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

キーは、appname と引数を引用符で囲み (最後の引用符の前に余分なスペースを残すようにしてください)、最後の変数を引用符に含めないようにすることでした。

于 2013-02-27T19:41:48.683 に答える