使用Windows命令行复制匹配的文件,但有例外吗?

时间:2014-11-17 16:06:36

标签: windows cmd

我需要将存储在多个目录中的许多文件复制到其他几个目录中。我设法很容易地做到这一点,但是一个文件名证明更具挑战性,因为它与其他文件名冲突。这是我到目前为止所做的:

SET %ITER% = %%G
FOR /R H:\FILES\ "%%G" IN (RC*.pdf) DO (
    IF %ITER:~0,3% == "RCC" ()
    IF %ITER:~0,3% == "RCS" ()
    ELSE ( COPY "%%G" H:\RC\ )
    )
PAUSE

我需要复制名称与RC匹配的所有文件,但跳过任何与RCC或RCS匹配的文件,因为它们位于单独的目录中。这些文件名为“RC 0000.pdf”,其中0000是数字。

1 个答案:

答案 0 :(得分:1)

for /f "delims=" %%a in ('
    dir /a-d /b /s "h:\files\RC*.pdf"
    ^| findstr /r /i /e /c:"\\RC[^SC][^\\]*\.pdf"
') do copy "%%a" h:\rc\

使用dir命令枚举所有RC*.pdf个文件,并使用findstr命令过滤此列表,删除不需要的文件