現在のディレクトリで、特定のファイルの種類ごとに (各 .txt ファイルの例として) 次のコマンド ラインを実行しようとしています。
"C:\Program Files (x86)\some program\someprogram.exe" "file.txt" "file.txt.mod" -someparameter
開いている Windows コマンド プロンプト (すべての引用符を含む) からこの正確なコマンドを実行すると、機能します。しかし、この VB で実行すると、何もしないか、すぐに閉じます。
私は何を間違っていますか?引用符に関係しているように感じますが、頭では整理できません。
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName)))
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
strFileName = objFile.Name
If objFSO.GetExtensionName(strFileName) = "txt" Then
RunCommand()
End If
Next
Sub RunCommand
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run "cmd.exe /C ""C:\Program Files (x86)\some program\someprogram.exe"" """ & objFile.Path & """ """ & objFile.Path & ".mod"" -someparameter"
Set oShell = Nothing
End Sub