5

環境変数を評価するのではなく、環境変数を参照する生のテキストをコマンドに提供したいと思います。

コマンドラインからBizTalkを構成するには、これが必要です。次に例を示します。

BTSTask.exe AddResource -ApplicationName:App1 -Type:System.BizTalk:BizTalkAssembly -Overwrite -Source:.. \ Schemas \ bin \ development \ App1.Schemas.dll -Destination:%BTAD_InstallDir%\ App1.Schemas.dll

このコマンドは、BizTalkアプリケーションにリソースを追加します。宛先を%BTAD_InstallDir%\ App1.Schemas.dllにしますが、現在、環境変数を(何もなしに)評価し、\App1.Schemas.dllを使用しています。

このコマンドの解析/実行中に、この環境変数の評価をエスケープまたは無効にすることは可能ですか?

最初と両方のパーセンテージ文字をニンジン(^)でエスケープしようとしましたが、これでも評価は停止しませんでした。

[編集]コマンドプロンプトでこれを実行すると、環境変数は置き換えられませんが、スクリプトとして実行すると、これが異なる理由について何か考えがありますか?

4

5 に答える 5

4

印刷されるコマンドプロンプトでecho^%path ^%を試してください...

環境変数を拡張する代わりに、Mikeageが提案したように、次のように機能するはずです。

BTSTask.exe AddResource -ApplicationName:App1 -Type:System.BizTalk:BizTalkAssembly -Overwrite -Source:.. \ Schemas \ bin \ development \ App1.Schemas.dll -Destination:^%BTAD_InstallDir ^%\ App1.Schemas.dll

于 2008-11-27T10:54:13.197 に答える
3

試しましたか:

%%BTAD_InstallDir%%

あなたのスクリプトで?

これにより、スクリプトが変数を解釈できなくなり、プログラムに渡さ%BTAD_InstallDir%れます。

于 2008-11-27T11:28:41.783 に答える
2

%の代わりに^%を試してください。

于 2008-11-27T10:36:06.587 に答える
1

試した:

C:\PrgCmdLine\Unix\echo.exe "%"JAVA_HOME"%"

入手した:

%JAVA_HOME%

[編集]確かに、C:\PrgCmdLine\Unix\echo.exe ^%JAVA_HOME^%機能し、よりシンプルです...

[編集2]記録のために:私はUnxUtilsのエコーを使用してプレーンプログラムの動作をしました。組み込みのエコーは、少なくとも引用符で囲まれた%記号については、わずかに異なる動作をします。

于 2008-11-27T10:54:37.907 に答える