あるファイルの内容をコピーして別のファイルの末尾に追加するbatファイルを作成しようとしています。
test.txtという名前のファイルがあり、results.txtという名前で既に作成されているファイルにtest.txtの内容を追加したいとします。
これはどのように行うことができますか?
できるよ type test.txt >> results.txt
リダイレクトについては、 ss64.comのこのリファレンス も参照してください。
TYPE
はUnicodeファイルをANSIに変換することに注意してください。ファイルをそのまま保持する必要がある場合は、UnxUtilsをダウンロードして、cat
の代わりにtype
を使用してください。
「コピー」コマンドを使用することをお勧めします(バッチファイル内で使用できます)。ASCIIモードまたはバイナリモードを実行し、追加を許可します。
1つ以上のファイルを別の場所にコピーします。
コピー[/ D] [/ V] [/ N] [/ Y |/-Y] [/ Z] [/ A |/B]ソース[/ A |/B] [+ソース[/ A |/B] [+ ...]] [宛先[/ A |/B]]
sourceコピーする1つまたは複数のファイルを指定します。/A
ASCIIテキストファイルを示します。/Bバイナリファイルを示します。/D宛先ファイルを復号化して作成できるようにします。
destination新しいファイルのディレクトリやファイル名を指定します。/V新しいファイルが正しく書き込まれていることを確認します。/N 8dot3以外の名前のファイルをコピーする場合は、可能な場合は短いファイル名を使用します。/Y既存の宛先ファイルを上書きするかどうかの確認を求めるプロンプトを抑制します。/-Y既存の宛先ファイルを上書きするかどうかの確認を求めるプロンプトを表示します。/Zネットワークファイルを再起動可能モードでコピーします。スイッチ/ Yは、COPYCMD環境変数に事前設定されている場合があります。これは、コマンドラインで/ -Yを使用して上書きできます。デフォルトでは、バッチスクリプト内からCOPYコマンドが実行されていない限り、上書きを要求します。
ファイルを追加するには、宛先に1つのファイルを指定しますが、ソースには複数のファイルを指定します(ワイルドカードまたはfile1 + file2 + file3形式を使用)
したがって、file1をfile2に追加し、それをnewfileと呼ぶと、コマンドは次のようになります。
copy file1+file2 newfile
File2をfile1に追加するには、コマンドは次のようになります。
copy file1+file2 file1
type test.txt >> results.txt