« FORコマンドの出力リダイレクト | トップページ | WSHから他のWSHを操作する。 »

2009年3月 8日 (日)

FOR /Fコマンドでファイル更新するときの出力リダイレクト

FOR /Fコマンドでは、ファイルを読み込んで、同じファイルに書き出すことができます。

for /f %i in (file) do echo %i >>file

とすれば、元のファイルの後ろに追加書きされます。

上書きするには、最初のdoコマンドでファイルを空にします。

set n=
for /f %i in (file) do (
  if not defined n type nul >file
  set /a n+=1
  echo %i >>file
)

あるいは、in内のコマンドの最後でファイルを空にします。

for /f %i in ('type file ^& call ^>file') do echo %i >>file

« FORコマンドの出力リダイレクト | トップページ | WSHから他のWSHを操作する。 »