我想复制一个目录,不包括一个文件

I want to copy a directory excluding one file

我已经将 xcopy 命令与 /EXCLUDE 开关一起使用,但为此我必须制作另一个包含要排除的文件列表的文件。 下面是我正在使用的 xcopy 命令...

xcopy /EXCLUDE:C:\AA\excludedfiles.txt C:\AA d:\Models\Broker\NB\MOTNB0056 
/S /E

其中 excludedfiles.txt 包含我要排除的文件的名称。
C:\AA 是源,d:\Models\Broker\NB\MOTNB0056 是目标。

但是我不想为它制作额外的文件(excludedfiles.txt)。建议一个通过仅给出文件路径来排除文件的命令。

XCOPY is deprecated. It has been replaced by ROBOCOPY.

打开命令提示符 window 和 运行 robocopy /? 以获得有关命令 ROBOCOPY 的帮助。与 运行ning xcopy /? 上的 XCOPY 输出的帮助相比,它具有选项 /XF 以排除在此开关之后指定的一个或多个文件,并且它甚至可以使用通配符。

所以你可能使用的命令是:

%SystemRoot%\System32\robocopy.exe C:\AA D:\Models\Broker\NB\MOTNB0056 /E /XF C:\AA\FileToExclude.ext

一些补充说明:

/S表示带子目录复制,但不带空目录。
/E 表示复制子目录 ,包括空 目录。

在命令行中指定两者没有意义。

建议以反斜杠结尾指定目标目录。这使得 ROBOCOPY 以及 XCOPY 清楚地表明目标字符串指定的是目录而不是文件。这在只复制一个文件的情况下很重要,因为您可以在 batch file asks for file or folder 上的答案中阅读。如果在末尾用 \ 指定目标目录是必要的,这两个命令都会创建目标目录的目录树。

有关从命令行或批处理文件搜索特定文件操作的命令,请参阅 Microsoft 关于 Windows Commands and SS64.com - A-Z index of the Windows CMD command line 的文档。