Windows 打开一个';它不在同一个目录中
我想用一个消息框运行一个程序(与脚本不在同一目录中),下面是代码(它不工作,因为它需要程序像脚本一样位于桌面上) 现在,正如你所看到的,我想在系统启动时执行这个,让我的游戏程序运行,但我不能把steam放在桌面上,因为它会把它的资产转储到那里,这将是一个混乱,我也不能把脚本放在steam的目录中,TS3也是一样,而且,我试图用它的路径替换文件名,但它也不起作用 编辑: 为了清楚起见,我在桌面上有一个VBS文件,在桌面上我有两个链接(不是原始的EXE),到steam和TS(我想运行的程序),我想打开这两个程序,而不把脚本和程序放在同一个文件夹中,所以Windows 打开一个';它不在同一个目录中,windows,vbscript,windows-8,msgbox,Windows,Vbscript,Windows 8,Msgbox,我想用一个消息框运行一个程序(与脚本不在同一目录中),下面是代码(它不工作,因为它需要程序像脚本一样位于桌面上) 现在,正如你所看到的,我想在系统启动时执行这个,让我的游戏程序运行,但我不能把steam放在桌面上,因为它会把它的资产转储到那里,这将是一个混乱,我也不能把脚本放在steam的目录中,TS3也是一样,而且,我试图用它的路径替换文件名,但它也不起作用 编辑: 为了清楚起见,我在桌面上有一个VBS文件,在桌面上我有两个链接(不是原始的EXE),到steam和TS(我想运行的程序),我想打
在可执行文件的完整路径中添加一个cd(更改目录)行,该行将把cmd提示符带到该目录,并执行run命令。如果您这样做
puls = MsgBox("Want to open steam?", vbYesNo + vbQuestion)
Set ws = CreateObject("WScript.Shell")
if puls = vbYes then
ws.Run DblQuote("C:\Program Files(x86)\Steam\Steam.exe")
ws.Run DblQuote("C:\Users\Dario Loi\AppData\Local\TeamSpeak 3 Client\ts3client_win64.exe")
else
MsgBox "Okay :(", vbInformation
end if
'*****************************************
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'*****************************************
因此,我打开了可执行文件的属性,将目标从“C:\Program Files(x86)\Steam\Steam.exe”更改为“C:\Program Files(x86)\Steam\Steam.exe”-cd,运行了我的VBS,它在第四行给了我一个错误,2个字符,找不到文件,与前面的错误相同,所以你能更好地解释一下吗?请问,上面是你的完整剧本吗?我只看到CreateObject(“WScript.Shell”)。运行“Steam.exe”,没有引用完整路径或cd命令。如果你的脚本被修改了,你能添加它吗?你的代码对我来说很好。手动转到文件夹,右键单击地址栏并选择“复制文本”以确保路径完全正确。我复制了它,但它仍然不起作用,请检查我的编辑以获得澄清。由于我没有steam,您的脚本可以使用其他应用程序为我工作。如果打开命令提示符并键入:start“C:\Program Files(x86)\Steam\Steam.exe”复制所有代码(也带有*并运行),它会询问我是否要打开Steam,按“是”,它不识别第4行的文件名(甚至可能不识别第5行),如果按“否”,脚本也会输出“OK:(”作为normal@Hackoo成功地回答了OQ:他的代码片断工作。请考虑接受他的回答。你的编辑扩展了原来的问题,超出了所有的限制。请再问一个问题……但实际上我不理解,(这是我的错,不是他的)。因此…如果您能向我解释一下,
中的命令行。Run strCommand
应该与在命令提示下键入的命令行完全相同。因此,如果路径包含任何空格字符,则应该用“
双引号括起来(即带有ASCII
代码34的字符).再次阅读并彻底检查Chr(34)&Str&Chr(34)
。。。
puls = MsgBox("Want to open steam?", vbYesNo + vbQuestion)
Set ws = CreateObject("WScript.Shell")
if puls = vbYes then
ws.Run DblQuote("C:\Program Files(x86)\Steam\Steam.exe")
ws.Run DblQuote("C:\Users\Dario Loi\AppData\Local\TeamSpeak 3 Client\ts3client_win64.exe")
else
MsgBox "Okay :(", vbInformation
end if
'*****************************************
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'*****************************************