バッチファイルで、「作業ファイルを使わず」に、テキストファイルを編集するのは、コツが要ります。 例えば、テキストファイルの先頭行を削除する。 more +1 %1 | sort /+10000 | sort /+10000 /o %1 あるいは、 @echo off setlocal disabledelayedexpansion set LINE= for /f "skip=1 delims=" %%0 in ('find /n /v "" ^<%1') do ( if not defined LINE call >%1 set LINE=%%0 setlocal enabledelayedexpansion >>%1 echo;!LINE:*]=! endlocal ) 前者は、sort が入力をすべて読み込んでから、/oのファイルに出力することを利用します。 また、/+で実際の行より