0

実行中のスクリプト ファイルへのフル パスを取得したいと考えています。簡単なグーグル検索で、それWScript.ScriptFullNameがうまくいくことがわかります。問題は、このスクリプトを Windows スクリプト ホスト (私は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 に答える