2016-08-15 8 views
1

私は現在のディレクトリだけを表示する非常に簡単なスクリプトを持っています。このスクリプトは、.exeファイルから呼び出されVBS CurrentDirectoryのトラブル

set WshShell = WScript.CreateObject("WScript.Shell") 
Wscript.Echo (WshShell.CurrentDirectory) 

:それはコードです。呼び出し元の実行ファイルが直接実行されるまで正常に動作します。 exe-fileへのリンクを作成して起動すると、.vbsが実行され、.exeではなくリンクのディレクトリが表示されます。これをどうすれば解決できますか?

答えて

1

FileSystemObjectオブジェクト、(VBScriptの例)からの助けを得る:

scriptdir=CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName) 
Wscript.Echo scriptdir 
0

OK、多分それは不器用ですが、私は実行可能な解決策を発見しました。アイデアは単純です:完全なスクリプト名と短いものを入手してください。次に、最初のものから2番目のものを引きます。

set WshShell = WScript.CreateObject("WScript.Shell") 
Wscript.Echo (Left(WScript.ScriptFullName, Len(WScript.ScriptFullName) - Len(WScript.ScriptName)))