从特殊(临时)文件夹打开文件

Open a file from special (Temporary) folder

嗯,这不是那么甜蜜。我想使用

使用 VBScript 打开 %TMP% 目录中的某个文件
WScript.CreateObject("WScript.Shell").Run(WScript.CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2)+"\OpenMe.txt")

它在 windows 7 上工作正常,但在 XP 上不行,因为在临时文件夹路径中有一个 space。

一些教程建议使用引号(""),但我不知道如何使用。

只需将双引号连接到路径字符串的开头和结尾。由于 VBScript 对字符串文字使用双引号,因此您需要通过 ASCII 代码 (Chr(34)) 或在字符串文字 ("""") 中放置两个后续双引号来指定它们。加倍转义双引号。

WScript.CreateObject("WScript.Shell").Run(Chr(34)+WScript.CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2)+"\OpenMe.txt"+Chr(34))

一般来说,您应该使用连接运算符 (&) 而不是加法运算符 (+)。尽管后者在大多数情况下都有效,但在某些边缘情况下它会产生错误。此外,避免嵌套方法调用、通过 BuildPath 方法构建路径以及定义引用函数可能会使代码更清晰,更易于理解和维护。

Function qq(s)
  qq = Chr(34) & s & Chr(34)
End Function

Set fso = CreateObject("Scripting.FileSystemObject")
Set sh  = CreateObject("WScript.Shell")

tempfolder = fso.GetSpecialFolder(2)
path = fso.BuildPath(tempfolder, "OpenMe.txt")

sh.Run qq(path)