如何使用COPY命令附加到文件

Jam*_*s K 16 windows cmd batch-file windows-7-x64

我正在运行Windows 7 Ultimate x64,但我的经验可以追溯到DOS 3.0.

因为像DOS 3.1一样,你可以使用COPY命令将文件附加到另一个文件:

COPY FILE1+FILE2=FILE1
Run Code Online (Sandbox Code Playgroud)

需要一个临时的FILE3是不必要的.

这是因为,只要你加入,你经常需要更新您的一个新的程序非常方便的命令CONFIG.SYSAUTOEXEC.BAT文件.

它也曾经是得到正确的订单是重要的,否则你最终会得到一个空的FILE1.

但是今天当我尝试的时候,它FILE1没有动过,当我颠倒了命令时,它(可以理解地)制作FILE1 了一份副本FILE2.

有谁知道它是否被其他方法取代,何时发生这种变化?

编辑:

我一直在做更多的测试,奇怪的是即使上面的代码不起作用,你仍然可以从控制台复制并将其附加到现有文件,如下所示:

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

我想知道我的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
Run Code Online (Sandbox Code Playgroud)

您可以在命令提示符处使用以下实验自行复制此项.(其中^ 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
Run Code Online (Sandbox Code Playgroud)

你会看见:

file1

File One
Run Code Online (Sandbox Code Playgroud)

file2

File Two
File Three
Run Code Online (Sandbox Code Playgroud)

您可以type file2 >> file1或几乎使用任何其他连接文件的方法,当您键入file1它时,它仍然只会显示包含File One.但是,如果你FIND "searchterm" file用来解析文件,它会告诉你真正发生了什么.在这种情况下输入:

FIND " " file1
Run Code Online (Sandbox Code Playgroud)

你会得到奖励:

---------- FILE1
File One
?File Two
Run Code Online (Sandbox Code Playgroud)

小智 30

Windows 8 x86:

Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

C:\Users\Nikos>echo foo>file1

C:\Users\Nikos>echo bar>file2

C:\Users\Nikos>copy /b file1 + file2 file1
file1
file2
        1 file(s) copied.

C:\Users\Nikos>type file1
foo
bar


Emi*_*mil 6

回答:“如何使用 COPY 命令附加到文件

警告:如果您有一个希望通过 COPY 命令合并的文件列表,这很简单,但可能会破坏您的文件。

危险的方式

copy /b one + two + three-- 将“two”和“third”的内容附加到文件“one”中。因此,原来的“一个”现在包含按正确顺序排列的 3 个文件的内容。如果在复制过程中出现问题,您将无法恢复原始的“一个”,因为它会损坏并且您的数据基本上会丢失。几乎没有理由使用这种方式。

安全方法

copy /b one + two new_filename-- 将合并 2 个文件(当然,您可以列出两个以上),创建一个按正确顺序包含“一”和“二”的 new_filename,并保持原始文件不变。


小智 5

关于什么 type file2 >> file1