使用Windows命令将非xml文件从一个目录复制到另一个目录

我有一个源文件夹,我有XML文件和非XML文件。 我只需要将非xml文件从源文件复制到目标文件夹。 我已经写了如下的XML文件从源文件复制到目标文件夹的命令。 但我需要非xml文件。 请帮助。

@echo on set SRCROOT=D:\input set DESTNAME=D:\archive echo Creating Directories... if not exist %DESTNAME% md %DESTNAME% echo Copying Files... copy /Y %SRCROOT%\*.xml %DESTNAME% 

更新:我试图如下,它的工作。 循环访问目录并复制所有非xml文件:

 @echo on set SRCROOT=D:\input set DESTNAME=D:\archive echo Creating Directories... if not exist %DESTNAME% md %DESTNAME% @echo off for %%i in (%SRCROOT%\*.*) do if not "%%~xi" == ".xml" copy /Y %%i %DESTNAME% 

改用robocopy 。 自Windows7以来,它可以与操作系统一起使用。 /xf选项允许您排除文件,如*.xml

 robocopy %SRCROOT% %DESTNAME% * /xf *.xml 

否则xcopy具有/exclude选项,但它需要一个文件。 在xcopy中查看/排除仅用于文件类型 。

xcopy有一个排除选项:

 echo .xml >>c:\temp\exclude.txt xcopy %SRCROOT%\*.* %DESTNAME% /exclude:c:\temp\exclude.txt del c:\temp\exclude.txt