2017-04-18 19 views
1

PowerShellスクリプトでSVNコマンドを使用したいと思います。powershellでSVN-commitを使用する方法

私は変数としてSVN実行可能ファイルを宣言する必要がありますが、後で変数として宣言したファイルをコミットしたいと思います。コミットメッセージをファイルに指定します。

$svnExe = "C:\Program Files\TortoiseSVN\bin\svn.exe" 
$myFile = "C:\xx\file.txt" 
$commitMsg = "C:\xx\msg.txt" 

$myFile$commitMsgはなく、また、バージョン管理されたファイルではありません、すでにバージョン管理されたファイルです。コマンドラインから

この作品:

svn commit -F C:\xx\msg.txt C:\xx\file.txt 

しかし、どのように私はこのPowerShellを使用しますか?

答えて

5

Svnはコマンドプロンプトと同じようにPowerShellで動作します。実行ファイルへのフルパスで変数を定義する場合、call operator&)で実行する必要があります。そうしないと、PowerShellは文字列を単にエコーしてコマンドラインの残りの部分について混乱させるからです。あなたがPATH環境変数にはsvnディレクトリを追加する場合

$svn = 'C:\Program Files\TortoiseSVN\bin\svn.exe' 
$myFile = 'C:\xx\file.txt' 
$commitMsg = 'C:\xx\msg.txt' 

& $svn commit -F $commitMsg $myFile 

あなただけの直接実行可能ファイルを呼び出すことができます。

$env:PATH += ';C:\Program Files\TortoiseSVN\bin' 

... 

svn.exe commit -F $commitMsg $myFile 

別のオプションは、実行可能ファイルのエイリアスを定義するには、次のようになります。

New-Alias -Name svn -Value 'C:\Program Files\TortoiseSVN\bin\svn.exe' 

... 

svn commit -F $commitMsg $myFile 
+0

あなたが最初に提案したことを試しました。 $ svnExe = 'C:\ Program Files \ TortoiseSVN \ bin \ svn.exe' $ myFile = 'C:\ xx \ file.txt' $ commitMsg = 'C:\ XX \ msg.txt」 &$ svnExeは -F $ commitMsg $のmyFileをコミットしかし、その後、私は、次の問題を抱えて: のsvn:E205008:6文字:2 +ログメッセージはラインでゼロバイト が含まれています&lt<< $ svnExe commit -F $ commitMsg $ myFile + CategoryInfo:NotSpecified:(svn:E205008:L ...ゼロバイト:文字列)[]、RemoteException + FullyQualifiedErrorId:NativeCommandError – tommy2479

+0

これはコピーです/私の部分に貼り付けエラー。ごめんなさい。 –

+0

という問題を解決する方法はありますか? – tommy2479

関連する問題