代码之家  ›  专栏  ›  技术社区  ›  teaspoon

cmd在执行@移动“%f”时排除子文件夹

  •  0
  • teaspoon  · 技术社区  · 8 年前

    我正在使用此代码将pdf文件从文件夹“pdf”移动到“pdf\old”

    C:\WINDOWS\system32\cmd.exe /c "for /r c:\Users\ADMIN\Desktop\PDF\ %f in (*.pdf) do @move "%f" c:\Users\ADMIN\Desktop\PDF\old"
    

    但是,当有一个子文件夹(“PDF\sub”)包含更多PDF时,它们也会被移动到文件夹“PDF\old”中-是否可以限制该命令以排除任何子文件夹?

    非常感谢

    2 回复  |  直到 8 年前
        1
  •  2
  •   tukan    8 年前

    我认为你做得太复杂了。

    将所有pdf文件移动到其他文件夹-最简单的方法:

    move "c:\Users\ADMIN\Desktop\PDF\*.pdf" "c:\Users\ADMIN\Desktop\PDF\old"
    
        2
  •  2
  •   Hydranix    8 年前

    我想这就是你说的排除子文件夹的意思?

    for /f "delims=*" %F in ('dir /b "C:\users\admin\desktop\pdf\*.pdf"') do @move "%F" "c:\users\admin\desktop\pdf\old"
    

    而且 this 您可能对相关问题的答案感兴趣。