从特殊(临时)文件夹打开文件
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)
嗯,这不是那么甜蜜。我想使用
使用 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)