【发布时间】:2012-09-09 20:39:03
【问题描述】:
我正在运行 Windows 7 Ultimate x64,但我的经验可以追溯到 DOS 3.0。
从 DOS 3.1 开始,您可以使用 COPY 命令将文件附加到另一个文件:
COPY FILE1+FILE2=FILE1
不需要临时 FILE3。
这是一个非常方便的命令,因为每当您添加新程序时,您经常需要更新您的 CONFIG.SYS 和 AUTOEXEC.BAT 文件。
过去,正确的顺序也很重要,否则您最终会得到一个空的 FILE1。
但是今天当我尝试这样做时,它没有改变FILE1,当我颠倒顺序时,它(可以理解地)使FILE1成为FILE2的副本。
有谁知道它是否已被另一种方法替换,以及何时发生这种变化?
编辑:
我一直在做更多的测试,奇怪的是,即使上面的代码不起作用,你仍然可以从控制台复制并将其附加到现有文件中,如下所示:
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
【问题讨论】:
标签: windows batch-file cmd windows-7-x64