-1

コマンドラインを使用していくつかの異なる操作を行うバッチファイルを作成していますtf.exe。パスを複数回繰り返すことなく_branchTopFolder、パラメーターのローカル変数を設定したい。itemspecこれが私のバッチコマンドです。

最初の tf コマンドは、有効なパスを渡していることを理解できません。コマンドは、変数の値の代わりに文字どおり _branchTopFolder を使用しています。_branchTopFolder を実際のパスに置き換えると、スクリプトは正常に実行されます。

tf 実行可能ファイル自体が引数を解析していて、コマンド ライン コンソールが値を解析して渡さないように見えます。tf.exe解析のために変数を渡すために認識される使用するエスケープ文字はありますか?

@Echo off 
PATH = "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE"

:: Clean up Branches
SET _branchTopFolder=C:\Projects\Company\Site\20130722

:: Report checked out files
tf status _branchTopFolder /user:* /recursive
PAUSE

:: GET top folder
tf get _branchTopFolder
PAUSE 

:: DELETE folder path 
tf delete _branchTopFolder
PAUSE
4

2 に答える 2

0

単一のフォルダーに PATH 変数を使用しないでください。パスにフォルダーを追加できますが、PATH 変数からすべてのシステム パスを削除すると、問題が発生します。

そうは言っても、path = textバッチ構文ではスペースが含まれているため%path %、システム変数のように動作しないという変数を作成しました%path%

次の構文を使用して、先頭にセミコロンを付けてフォルダーをパスに追加します。

set path=%path%;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
于 2013-10-16T08:48:18.120 に答える