15

Cruise Control を使用してアプリケーションをパックしています。コマンドは次のようになります。

<Exec Command="$(NugetToolPath) pack &quot;@(NuSpecs)&quot; -OutputDirectory \\servername\PackageSource -BasePath &quot;%(NuSpecs.RootDir)%(NuSpecs.Directory)&quot; -NoPackageAnalysis" />

私はエラーをBasePathに絞り込みました。

-BasePath "D:\Code\Mobile_Trunk\PreCompiledWeb\Portal\Mobile LT Admin\"

私は問題を知っています。

-BasePath "D:\Code\Mobile_Trunk\PreCompiledWeb\Portal\Mobile LT Admin"

しかし、私は .Directory メタデータを使用しているため、常に末尾に \ が返されます

通常はベース パスを引用しませんが、ディレクトリにスペースがあるため仕方がありません。これを回避する方法はありますか?レイアウト方法以外に、完全なフォルダー構造を返す他のメタデータを知りません

アップデート:

私はこの解決策にたどり着きましたが、違法なパスの問題を回避する方法についての知識はまだ役に立ちませんが、機能します。

<Exec Command="$(NugetToolPath) pack &quot;%(NuSpecs.RootDir)%(NuSpecs.Directory)%(Nuspecs.FileName).nuspec&quot; -OutputDirectory \\servername\PackageSource  -NoPackageAnalysis" />
4

3 に答える 3

18

ディレクトリの後、引用文字の前にスペースを挿入するだけです。

-OutputDirectory "\\servername\PackageSource\ " 

ここで受け入れられた回答を参照してください(質問自体はあまり関連性がありませんが、回答は次のとおりです):

バックスラッシュで終わるコマンドライン引数を受け入れる方法

この魅力的なリファレンスは、その質問に対する別の回答にもリンクされています:
http://www.daviddeley.com/autohotkey/parameters/parameters.htm#WINCRULESDOC

于 2013-11-21T18:12:06.753 に答える