web-dev-qa-db-ja.com

COPYコマンドを使用してファイルに追加する方法

Windows 7 Ultimate x64を実行していますが、私の経験はDOS 3.0に遡ります。

DOS 3.1のように、このCOPYコマンドの使用により、ファイルを別のファイルに追加することができました。

COPY FILE1+FILE2=FILE1

一時的なFILE3の必要性を不要にします。

新しいプログラムを追加するたびにCONFIG.SYSおよびAUTOEXEC.BATファイルを更新する必要が頻繁にあったため、これは非常に便利なコマンドでした。

以前は、正しい順序を取得することが重要でした。そうしないと、空のFILE1になってしまいます。

しかし、今日それを試みたとき、FILE1はそのままで、順序を逆にすると、(当然のことながら)FILE1FILE2のコピーにしました。

他のメソッドに置き換えられたかどうか、そしてこの変更がいつ発生したかを誰もが知っていますか?

編集:

私はさらにテストを行ってきましたが、奇妙なことに、上記のコードが機能しない場合でも、コンソールからコピーして、次のように既存のファイルに追加できます:

copy file1+con=file1
Type some text to append to file1
^Z ([CTRL]+Z the End Of File character)

私のWindowsのバージョンがなんとなく台無しにされているのではないかと思っています。身体は私の発見を再現できますか?

編集:

95/98/ME/2000/XP/XP Mode/7 Professional x64/8 x64。したがって、7 Ultimate x64問題が、むしろ私のマシンの問題。

*ため息*

編集:

最後の編集、約束します。 :)

これは私のマシンの問題ではなく、File1の問題でした。どうやらFile2を最初に追加したとき、[CTRL] + Z(EOF文字)が上書きされず、ファイルは次のようになりました。

Original Data
Original Data
[EOF]
Appended Data
Appended Data
Appended Data

コマンドプロンプトから次の実験を使用して、これを自分で複製できます。 (^ Zは文字[CTRL] + Zです)

コマンドプロンプトで次を入力します。

copy con file1
File One
^Z^Z

copy con file2
File Two
^Z

copy con file3
File Three
^Z

copy file1+file2=file1

copy file2+file3=file2

TYPE file1
TYPE file2

表示されます:

file1

File One

file2

File Two
File Three

type file2 >> file1またはファイルを連結する他のほぼすべての方法を使用できますが、file1と入力しても、File Oneのみが含まれているように見えます。ただし、FIND "searchterm" fileを使用してファイルを解析すると、実際に何が起こっているかがわかります。この場合、次のように入力します。

FIND " " file1

そして、あなたに報いるでしょう:

---------- FILE1
File One
→File Two
16
James K

Windows 8 x86:

 Microsoft Windows [バージョン6.2.9200] 
(c)2012 Microsoft Corporation。 
 
 C:\ Users\Nikos> echo foo> file1 
 
 C:\ Users\Nikos> echo bar> file2 
 
 C:\ Users\Nikos> copy/b file1 + file2 file1 
 file1 
 file2 
 1ファイルがコピーされました。
 
 C:\ Users\Nikos> type file1 
 foo 
 bar 
30
nikos1993pl

type file2 >> file1

5
nikos1993pl
@echo off

cls

type "file2.txt" >> "file1.txt"

exit
2
keval

コピーしようとしたことのない新しいファイルから始めてください。
(XP sp3)copy a+b aなし/bを追加1ASUB)をファイルの最後に追加すると、typeの出力から消えた後は何でもできます(ただし、moreは表示されます)。 Copy /b a+b a動作します。

2
wmz

回答: "COPYコマンドを使用してファイルに追加する方法"

[〜#〜] warning [〜#〜]:COPYコマンドで結合したいファイルのリストがある場合、それは簡単ですが、ファイルを破壊する可能性があります。

危険な方法

copy /b one + two + three-ファイル "one"に "two"と "three"の内容を追加します。したがって、元の「1」には、3つのファイルのコンテンツが適切なシーケンスで含まれるようになりました。コピー処理中に問題が発生した場合、元の「1」を破損する可能性があるため、元の「1」を回復する方法はありません。この方法を使用する理由はほとんどありません。

安全な方法

copy /b one + two new_filename-2つのファイルを結合し(もちろん3つ以上をリストできます)、「1」と「2」を適切な順序で含むnew_filenameを作成し、元のファイルをそのまま残します。

2
Emil
 C:\ Users\Nikos> type file1 
 foo 
 bar 
 
 C:\ Users\Nikos> copy file1 + con = file1 
 file1 
 con 
 ihdui 
 ohisd 
 ^ Z 
 1ファイルがコピーされました。
 
 C:\ Users\Nikos> type file1 
 foo 
 bar 
 ihdui 
 ohisd 
1
nikos1993pl

試しましたか copy /b file1 + file2 file1

1
nikos1993pl

待つ!もっとある! (Win7 Pro)

>ver

Microsoft Windows [Version 6.1.7601]

>copy file.a.txt + file.b.txt file.ab.txt
file.a.txt
1 file(s) copied

>copy fileA.txt + fileB.txt fileAB.txt
fileA.txt
fileB.txt
1 files(s) copied

「1個のファイルがコピーされました」という通知は別として、変な名前のファイルは好きではありません。

1
david

copy /b input1 + input2 output
del input1
ren output input1
たぶんこれ? :P

1
nikos1993pl

バイナリファイルにコピーするには...

すべてのファイルを同じフォルダーに入れます。 G:\Files

g:
cd Files
copy /B *.* TargetFilename.ext

および.extは必要なファイルのタイプです

0
Nigel