我坚持写一个可以调用可执行文件的VBScript文件。坚持使用字符串文字中双引号的语法。
该行应该正确写入调用可执行文件的行:
Print #PayLoadFile, " WshShell.Run """ & exePath & """ "
exePath
是可执行的可变保持路径,它是正确的。
尝试使用以下内容获取上面的行以写入vbs:
WshShell.Run """C:\Users\John Doe\test.exe"""
当我在可执行文件之间运行VBScript手动编辑"""
的文件时,我得到了正确的结果。
但相反它写入它因为它得到系统的错误找不到指定的文件:
WshShell.Run "C:\John Doe\test.exe"
答案 0 :(得分:0)
在VBScript中,必须对字符串文字中的双引号进行转义,因为字符串文字本身必须用一对双引号括起来。逃避是通过加倍双引号来完成的。因此VBA声明
Print #PayLoadFile, " WshShell.Run """ & exePath & """ "
' ^^ ^^ these double quotes
使用一组双引号中的路径创建一个VBScript语句:
WshShell.Run "C:\Users\John Doe\test.exe"
' ^ ^ become these double quotes
要在VBScript文件中获取所需的两对双引号(将把路径放在shell的双引号中),您需要在VBA语句中再添加8个双引号:
Print #PayLoadFile, " WshShell.Run """"""" & exePath & """"""" "
' ^^^^ ^^^^