0

jscript(cscriptを使用)を介して実行される外部アプリケーションがあります。問題は、この外部アプリが実行パスから cfg を読み取ることです。たとえば、exe をクリックすると、c:\program\myapp になる可能性があります。

しかし、jscript を使用してプログラムを実行するたびに、その実行可能パスが c:\ に設定されるため、構成ファイルが見つかりません。このプログラムはいわゆる「ポータブル」であるため、独自の場所を見つけるために参照するレジストリ エントリはありません。

とにかく、スクリプトを介してアプリケーションを開始し、scriptengines パスではなく実際のパスを維持することはできますか?

よろしく

ジョナス

4

1 に答える 1

2

この記事を見てください:

http://blogs.technet.com/b/heyscriptingguy/archive/2005/02/01/how-can-i-change-the-working-folder-of-a-script.aspx

サンプル コードは VBScript ですが、JScript に変換するのは簡単です。

最初の鍵は、オブジェクトのCurrentDirectoryプロパティを使用することです:WshShell

var objShell = new ActiveXObject("Wscript.Shell");
objShell.CurrentDirectory = "C:\\Windows";

2 番目のキーは、実行可能ファイルのディレクトリ名を抽出することです。この記事ではパスを分割することでこれを行っていますが、私は以下を使用することを好みますFileSystemObject

var programPath = "C:\\MyApp\\myapp.exe";

var fso = new ActiveXObject("Scripting.FileSystemObject");
var programDir = fso.GetParentFolderName(programPath);

WScript.Echo(programDir); // C:\MyApp
于 2012-09-21T06:01:39.817 に答える