2012-02-03 10 views
1

実際に文字列の一部をテキストファイルに置き換えようとしています。バッチを使用してファイル内のシンボルを含むテキストを変更します。

私の古いファイルは、私が '120204' から '120203' を変更したいこのテキスト

12345qwert91202030000000 

が含まれている場合。これは私のコードです:

setlocal enabledelayedexpansion 
if exist c:\myfile.txt (set b=c:\myfile.txt) ELSE GOTO LOGO 

for /f "tokens= 1" %%c in (%b%) do (set line=%%c) 

Set NEWdate=120204 

ECHO %line:~0,11%%NEWDate%%line:~17,7% > %b% 

これはうまくいきます。私の古いファイルは次のテキスト

12345q&ert91202030000000 

シンボル「&」を注意してくださいが含まれている場合、それはコードとしてそれを取るようになりました、私のコードは動作しません。

提案がありますか?

+0

もっと関連タグを追加できますか? – Jared

答えて

2

この場合遅延拡張は使用しないでください。特殊文字ではパーセント拡張が失敗しますが、遅延拡張では拡張遅延が認識されません。

パーセント記号を感嘆符で変更するだけで、以前に遅延拡張を有効にしました。

ECHO !line:~0,11!!NEWDate!!line:~17,7! > %b% 
+0

それは動作します!ありがとう! –

関連する問題