web-dev-qa-db-ja.com

バッチファイル1つのファイルの内容を別のファイルにコピーします

あるファイルの内容をコピーして別のファイルの末尾に追加するbatファイルを作成しようとしています。

test.txtという名前のファイルがあり、results.txtという名前で既に作成されているファイルにtest.txtの内容を追加したいとします。

これはどのように行うことができますか?

12
Wesley

できるよ type test.txt >> results.txt

リダイレクトについては、 ss64.comのこのリファレンス も参照してください。

TYPEはUnicodeファイルをANSIに変換することに注意してください。ファイルをそのまま保持する必要がある場合は、UnxUtilsをダウンロードして、catの代わりにtypeを使用してください。

18
Benoit

「コピー」コマンドを使用することをお勧めします(バッチファイル内で使用できます)。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
9
Jim
type test.txt >> results.txt
2
Tim Robinson