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