1

jsminをnantで使用しようとしていますが、入力と出力にstdinとstdoutを使用しているだけです。nant'exec'タスクを使用すると、出力をファイルにリダイレクトできますが、ファイルから入力を取得することはできません。

'>'と'<'を使用して'コマンドライン'を使用して入力と出力を指示しようとしましたが、nantが消えて、戻ってこない:(

これまで誰もこれをやろうとしたことがないなんて信じられません。助けてください!:)

4

3 に答える 3

2

http://www.mail-archive.com/nant-developers@lists.sourceforge.net/msg04575.htmlから。次のようなことができるはずです。

        <exec program="cmd.exe" workingdir=".">
                <arg value="/c cacls" />
                <arg value="${mdb.file}" />
                <arg value="/E" />
                <arg value="/G testpc\aspnet:F" />
                <arg value="&lt; y.txt" />
        </exec>
于 2009-07-14T17:05:41.850 に答える
0

NAntはファイルからの入力をサポートしていると思います。ビルドファイルはXMLであるため、xmlでエンコードされた「<」を使用する必要があります。

<exec program="somefile.exe" workingdir=".">
  <arg value="&lt; input.txt" />
</exec>
于 2009-07-13T18:14:00.033 に答える
0

リダイレクトおよびパイプ演算子はシェルの機能であり、CおよびC#は他の手段(ファイルハンドル)によるリダイレクトをサポートします。どこかで、C#Processクラスが入力リダイレクトをサポートしていなかったため、nantはの出力リダイレクトのみを提供することを読みました<exec>

コマンド入力をリダイレクトするために、シェルに頼ることができます。

A)上記のacloutierの例に示されているようにを呼び出しますcmd.exe/c空白には注意が必要です。実際には、<との間のスペースが原因で例が失敗しますy.txt。例を機能させるには、例を削除してください。value属性を属性に変換することもできlineますが、引用には注意が必要です。

B)exec-cmdアプローチを使用してパイプを機能させることができなかったため、代わりに<echo>:を使用してその場でバッチファイルを生成しています。

<echo file="${WD}/login.bat">"${P4}" diff -sd | "${P4}" -x- sync -f using</echo>        
<exec program="login.bat" basedir="${WD}" workingdir="${P4.WorkspaceRoot}" />
于 2012-10-13T20:33:54.673 に答える