0

txt ファイルを読み取る必要がありますが、パスがありません。テキスト ファイルは、実行中のスクリプトのパスの 2 つ前のディレクトリです。「WScript.ScriptFullName」を使用してから、instrRev を使用して、「/」で str を分割できると考えました。しかし、それはうまくいきません。これを複数のコンピューターで実行する必要があるため、パスは変更されますが、テキスト ファイルは常にスクリプト パスの 2 つ上のディレクトリになります。

これまでの私のコード

Dim strScriptPath
strScriptPath = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
WScript.Echo strScriptPath
WScript.Echo(WScript.ScriptFullName)
Dim DashRev
DashRev = instrRev(WScript.ScriptFullName, "/")
wscript.echo DashRev
4

2 に答える 2

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)

パスの長さより 1 少ない開始位置を使用して、strScriptPath常に終了し"\"、パスfirstから除外するという考えです。instrrevと本質的に同じことsec

于 2013-11-06T23:38:22.283 に答える
0
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
WScript.Echo FSO.GetFile(WScript.ScriptFullName).ParentFolder.ParentFolder.ParentFolder.Path
于 2013-11-07T12:42:01.800 に答える