我正在尝试为当前目录中的每个特定文件类型(例如每个.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
答案 0 :(得分:1)
你应该
通过
和
通过
(只是为了驯服格式化程序)
>> WScript.Echo goFS.GetExtensionName("A.TXT")
>>
TXT