Win-XP 的命令外壳的一些奇怪之处

6 windows shell windows-xp batch-file

我在 Windows XP 的命令 shell 中编写了以下命令,但发生了一些奇怪的事情:

C:\Folder1> copy sample.txt :
Run Code Online (Sandbox Code Playgroud)

由于打字错误,我写了“:”而不是“D:”

...但它将sample.txt复制到我找不到的地方!

我在整个 HDD 中搜索了 sample.txt,但该文件的唯一实例是位于 C:\Folder1 中的原始实例。

你知道“:”路径在 Win-XP 命令外壳中的实际位置吗?

您可能会说“:”是当前路径并且文件已复制到自身上,但请看:

如果您第一次运行该命令,结果如下:

1 file copied.
Run Code Online (Sandbox Code Playgroud)

但是下次运行该命令时,它会询问您:

overwrite sample.txt? (yes/no/all)
Run Code Online (Sandbox Code Playgroud)

因此,如果它将文件写入自身,则两个结果都必须相同,但事实并非如此。

在此先感谢您的帮助。

LSe*_*rni 4

您的数据已复制到附加到当前目录的 NTFS 备用数据流中。

有一些工具(例如 ADSRevealer)可以让您验证.现在确实已附加 ADS。

如果您输入:

MORE < :sample.txt
Run Code Online (Sandbox Code Playgroud)

您将检索sample.txt 的副本。

有关更多信息,请参见此处。请记住,XP 中对 ADS 的命令行支持充其量只是“不成熟”