内联命令移动所有文件、目录和子目录

内联命令移动所有文件、目录和子目录

我正在尝试创建一个批处理文件,将文件和目录+所有子目录从一个地方移动到另一个地方

例如,假设我有这些:

C:\Source\abc.files  
C:\Source\Dir1\abc2.files  
C:\Source\Dir1\Sub1\abc3.files  
C:\Source\Dir2\xyz.files  

当我使用move C:\Source\*.* C:\Dest\abc.files显示目标文件夹时。我需要Source目录的全部内容及其所有子目录的内容

第三方解决方案(DOS 除外)是可以的...如果它们是免费的并且没有病毒。=)

答案1

您在这里遇到了两个问题。

首先,您被告知move仅复制名称与*.*模式匹配的文件。Dir1并且Dir2两者都不匹配。(名称中*.*都没有“ ”(点))。@Seth 在您原始帖子的评论中指出了这一点。.

第二个问题是,move当你要求它同时移动一个文件夹和一个文件时,它的行为不合理(恕我直言)。如果同时有其他内容试图移动,Move 会拒绝移动文件夹:

将一个目录移动到另一个目录:

move C:\Source\Dir1 C:\Dest\

(现已C:\Dest\Dir1存在)

仅移动内部顶层的文件C:\Source\

move C:\Source\* C:\Dest\

(现已C:\Dest\abc.files存在)

当您尝试同时移动两个文件夹时会产生语法错误(对我来说这两种语法都不起作用)

move C:\Source\Dir1,C:\Source\Dir2 C:\Dest\
move C:\Source\Dir1 C:\Source\Dir2 C:\Dest\

文档move建议您应该能够指定要一次移动的多个文件和文件夹,并用逗号(,)分隔要移动的文件,但这对我来说似乎不起作用。

文档确实Moves files and renames files and directories.表明它确实无法移动目录......

因此,我认为没有一种解决方案可以适用move于 DOS 兼容机器上的命令。但是,在较新版本的 Windows 中还有其他较新的命令可能有效。xcopy是一个很受欢迎的命令。不幸的是,这对我来说不起作用,因为xcopy它不执行文件系统级别的移动,它只复制然后删除原始文件。这对于较小的文件来说没问题,但对于较大的文件来说可能是灾难性的。

相关内容