2011-12-06 5 views
5

バッチファイルを使用して別のバッチファイルを作成しようとしています...これは、頻繁に使用する必要があるファイルで、たびにいくつかの変数が変更されます。バッチでは作成しようとしているので、エコーを使って.txtファイルに書き込むため、問題が発生しています。ここでエコーコマンドを新しいファイルにエコーすることは可能ですか?

はコマンドです:\ filegrabber_%ORG%の.bat:

echo echo %date% - %time% >> C:\MOVEit\Logs\FileGrabberLog.txt >> C:\filegrabber_%org%.bat 

は、私はCに文字列全体echo %date% - %time% >> C:\MOVEit\Logs\FileGrabberLog.txtを入力します。

私はそれを置くことができますが、作成しようとしているバッチに表示されます。

誰もがこのことを知っていますか?

答えて

5

%%%で、その他の特殊文字を^でエスケープすると、これはうまくいくはずです。

echo echo %%date%% - %%time%% ^>^> C:\MOVEit\Logs\FileGrabberLog.txt >> C:\filegrabber_%org%.bat 
+2

あなたはエスケープ文字についての権利だが、私は彼が出力を 'C:\ filegrabber_%org%.bat'に入れたいと思うので、2番目の' >> 'をエスケープしてはいけません。 – aphoria

+0

ああ、ありがとうあなたの権利は –

+0

の上に固定true、私はこれをすべて取得するために探している: 'C:\ MOVEit \ Logs \ FileGrabberLog.txt'をC:\ filegrabber_% org%.bat – iesou

1

それとも、消え引用符

setlocal EnableDelayedExpansion 
(
    echo !="!echo %%date%% - %%time%% >> C:\MOVEit\Logs\FileGrabberLog.txt 
) > C:\filegrabber_%org%.bat 

を使用することができキャレットを回避するためにのみパーセントは、二重にする必要があります。

!="!が特殊文字フェーズで解析され、残りの行が引用されると判断されて動作します。

="の変数が存在しない(作成できない)ため、遅延フェーズで!="!が削除されます。

0

次の答えは、あなたの質問に有益であるかもしれない:

これは、以前に投稿されたとの回答は、ここに与えられたものと同様の与えられた: Ignore Percent Sign in Batch File

+0

ありがとうございます、私はそれを調べます – iesou

関連する問題