2016-10-02 7 views
0

私は以下のコードで解析されるtext.txtファイルを持っています。バッチファイルは機能しますが、出力ファイルに新しいファイルを書き込むか、元のファイルを変更するのが簡単です。現在、出力はコマンドウィンドウにのみ表示されます。バッチ処理をファイルに送信する

@echo off 
setlocal EnableDelayedExpansion 

set LF=^ 

%var1% 
%var2% 

set "EOL=!LF!" & set "EOL2=!LF!" 

for /F %%a in (test.txt) do (
    if %%a equ PROP-SUMMARY set "EOL=!LF!" 
    set /P "=%%a!EOL!" < NUL 
    set "EOL0=!EOL!" & set "EOL=!EOL2!" & set "EOL2=!EOL0!" 
    if %%a equ PROP-VALUES set "EOL=," 
) 

これでtest.txtの

4.12 
0 
1 
1 
21 
PROP-VALUES 
625 
4.12 
945 
3.64 
PROP-SUMMARY 
400 
400 
Thickness 

これでnew.txt

4.12 
0 
1 
1 
21 
PROP-VALUES 
625,4.12 
945,3.64 
PROP-SUMMARY 
400 
400 
Thickness 
+0

'%のVAR1%を'と '%のVAR2の%'何ですかために? – aschipfl

+0

これらはプレースホルダです。削除された場合、スクリプトは機能しません。 – RyCar66

+0

あなたはそれらを削除できます! 'set LF = ^'の後に2つの空行があることを確認する必要があります。 – aschipfl

答えて

0

のcmd.exe >>「%SystemDrive%に/ユーザ/ユーザ名%% /Desktop/test.txt "

これはteを上書きしませんst.txtを追加します。それはあるtest.txt行う

のcmd.exe> "%SystemDrive%に/ユーザー/%のユーザー名%/デスクトップ/ test.txtのを" 上書き作る