2017-02-23 9 views
0

バッチスクリプト内から "svnversion"コマンドを実行して、svnフォルダの現在のリビジョンを取得する必要があります。相対パスでコマンドを実行し、コマンドの戻り値をバッチスクリプトに保存します。

私はコマンドを実行するだけで私のsvnフォルダの外で実行されます。だから私は私のフォルダからsvnversionコマンドを実行する必要があります。

私は私が欲しいもの

@echo off 
set PATH=%cd% 
echo %PATH% // Just for debugging purpose 
for /f "delims=" %%i in ("%PATH%" 'svnversion') do set VERSION=%%i 
@echo %VERSION% 

ような何かをしようとしていたパス例えば、「C:\フォルダ\ SVN \トランク」に行くことです「つけません」とコマンドを実行し、それが返す戻り値を保存します。

私のスクリプトフォームを実行すると、パスを使わずに動作しますが、バッチスクリプトは自分のビルド環境で実行され、バッチスクリプトのプロジェクトをコンパイルするとパスが間違っているようです。

+1

**決して**(オーバー)の実行可能ファイルを見つけるために、それがシステムで使用されている 'PATH'変数を書きます! – aschipfl

答えて

-3

は、ただのCD%〜PD0を追加し、それを考え出した

@echo off 
cd %~pd0 
for /f "delims=" %%i in ('svnversion') do set VERSION=%%i 
@echo %VERSION% 
+0

あなたのコードを読んで、間違いを発見できるかどうか確認してください。 – Compo

+0

あなたはそれが何を意味するのか本当に分かりません。今の私が望むように機能し、実際に私はそれにかなり満足しています。 – Keexarian

+0

間違いがあることは理解できますが、今はそれを見直して正しいと信じる機会がありました。私はあなたのためにそれを綴るでしょう。あなたのコードは間違っています! – Compo

関連する問題