私はプロジェクトを分岐させるための簡単なハックとして、以下を行う.BATファイルにループを持っています(入力チェックなどが省かれています。 ):バッチファイルFORループからSVNコピーを実行する際の問題
branchToolのtest_branch "テスト枝ツール" "PROJ1、proj2"
をSVNはLOコマンド:
@for %%X in (%~3) do svn copy^
https://my.svn.account/%%X/trunk^
"https://my.svn.account/%%X/branches/%~1"^
-m "%~2"
だからあなたが好きそれを使用しますOK右:
>branchTool.bat test_branch "testing branch tool" "proj1,proj2"
svn copy https://my.svn.account/proj1/trunk "https://my.svn.account/proj1/branches/test_branch" -m "testing branch tool"
svn copy https://my.svn.account/proj2/trunk "https://my.svn.account/proj2/branches/test_branch" -m "testing branch tool"
しかしSVNは、実際に実行されていない - の.batファイルはちょうどすぐにコマンドを印刷をループし、何も起こりません。私はコンソールに書き込まれた各ラインの出力をし、それらを個別に実行し、コピー&ペーストした場合
、彼らはさておきをスクリプトをハッキング醜いDOSを使用しての期待
コメントとして働き、バグは何ですか?それは、一つでも入力プロジェクト名と同じに失敗例えばランニング:
branchToolのtest_branch「テストブランチ ツール」PROJ1
は、一行だけを使用するようにしてくださいそして、次の行の最初の文字をエスケープする – jeb
jeb:正しいものの、空白に注意してください - そして実際に出力を貼り付けるのは問題ありません。 –
エスケープされたスペースがあるため、出力が複数行エスケープの結果と異なることを確認してください。 "SVN"を "echo"に置き換えた場合はどうなりますか? 「エコーオン」を有効にした場合は表示されますか? – jeb