我需要读取一个txt文件,但我没有路径。文本文件是我正在运行的脚本路径之前的两个目录。我以为我可以使用“WScript.ScriptFullName”,然后只使用instrRev并将其拆分为“/”。但它不起作用你们可以帮助我吗?我必须在多台计算机上运行它,因此路径会发生变化,但文本文件将永远是脚本路径上方的两个原因
到目前为止我的代码
Dim strScriptPath
strScriptPath = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
WScript.Echo strScriptPath
WScript.Echo(WScript.ScriptFullName)
Dim DashRev
DashRev = instrRev(WScript.ScriptFullName, "/")
wscript.echo DashRev
答案 0 :(得分:1)
首先将"/"
替换为"\"
然后尝试以下操作。这似乎对我有用:
Dim strScriptPath
strScriptPath = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
WScript.Echo strScriptPath
WScript.Echo(WScript.ScriptFullName)
Dim first, sec
first = instrRev(strScriptPath, "\",Len(strScriptPath)-1)
sec = instrRev(WScript.ScriptFullName, "\",first-1)
wscript.Echo "parent = " & Left(strScriptPath,sec)
strScriptPath
始终以"\"
和first
结束的想法是通过使用小于{1}的起始位置从instrrev
中排除这一点。路径的长度。基本上与sec
相同。
答案 1 :(得分:0)
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
WScript.Echo FSO.GetFile(WScript.ScriptFullName).ParentFolder.ParentFolder.ParentFolder.Path