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

时间:2014-09-16 07:22:24

标签: xml windows batch-file command-line

我有一个源文件夹,其中包含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%

2 个答案:

答案 0 :(得分:1)

请改用robocopy。自Windows7起,它可用于操作系统。 /xf选项允许您排除文件,例如*.xml

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

否则xcopy具有/exclude选项,但它需要一个文件。请参阅/exclude in xcopy just for a file type

答案 1 :(得分:1)

xcopy有一个排除选项:

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