0

我想获得我正在执行的脚本文件的完整路径。一个快速的谷歌搜索告诉我,这WScript.ScriptFullName会成功。问题是我在 Windows Script Host 之外执行这个脚本(我正在使用ScriptUnit),所以如果我尝试使用该代码,我会收到错误:

变量未定义:'wscript'

如果我不能使用 WScript,如何获得当前脚本文件的完整路径?

4

1 回答 1

0

你不能用 cscript 启动一个小脚本并通过环境变量将值传递给父脚本吗?无法对此进行测试,因为我没有或使用 ScriptUnit。显然,以下内容不起作用,因为您没有 Wscript 随身携带,但 ScriptUnit 具有类似的功能来读取 environmentvars ?

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "CScript.exe " & """" & ScriptName & """"  'this would set your environmentvar scriptpath
Set objProcessEnv = WshShell.Environment("Process") 
path = objProcessEnv("scriptpath")

或者从批处理或其他脚本启动脚本,在文本文件中记录路径并在主脚本中读取该文件的内容。

于 2012-05-16T07:34:57.120 回答