我想获得我正在执行的脚本文件的完整路径。一个快速的谷歌搜索告诉我,这WScript.ScriptFullName
会成功。问题是我在 Windows Script Host 之外执行这个脚本(我正在使用ScriptUnit),所以如果我尝试使用该代码,我会收到错误:
变量未定义:'wscript'
如果我不能使用 WScript,如何获得当前脚本文件的完整路径?
我想获得我正在执行的脚本文件的完整路径。一个快速的谷歌搜索告诉我,这WScript.ScriptFullName
会成功。问题是我在 Windows Script Host 之外执行这个脚本(我正在使用ScriptUnit),所以如果我尝试使用该代码,我会收到错误:
变量未定义:'wscript'
如果我不能使用 WScript,如何获得当前脚本文件的完整路径?
你不能用 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")
或者从批处理或其他脚本启动脚本,在文本文件中记录路径并在主脚本中读取该文件的内容。