【问题标题】:use a batch file to find full file names with partial matching then move them使用批处理文件查找具有部分匹配的完整文件名,然后移动它们
【发布时间】:2012-08-05 01:51:52
【问题描述】:

我需要一个批处理文件,它会在一个文件夹中找到所有文件,其中名称中有一个设置变量,然后将它们移动到另一个文件夹。这必须在 Windows XP 计算机上运行。

例子:

文件夹中有这些文件

abc123abc.pdf
efg123eft.pdf
hig456hig.pdf

如果我们搜索包含“123”的文件名,那么它会将 abc123abc.pdf 和 efg123eft.pdf 移动到设置的文件夹中。

【问题讨论】:

    标签: batch-file windows-xp find dos move


    【解决方案1】:

    不需要批处理文件 - 带有通配符的移动命令会自行完成:

    move *123* c:\where\ever
    

    【讨论】:

      【解决方案2】:

      如果您想要在其中任何位置包含 123 的名称:

      move *123*.* c:\newfolder
      

      如果您希望 123 始终是第 4、5 和第 6 个字符:

      move ???123*.* c:\newfolder
      

      如果您只想要带有123.pdf 文件(以上匹配项之一):

      move *123*.pdf c:\newfolder
      

      从批处理文件或直接从命令提示符工作。

      ? 匹配单个字符,* 匹配一个或多个。这些被称为wildcard operators 或简称为wildcards

      要查看通配符运算符的工作原理,请在您要使用的文件夹中打开一个命令(“DOS”)窗口,然后尝试(dir 用于目录列表,并且不会损害任何尝试) :

      dir *.*
      
      dir *123*
      
      dir *123*.pdf
      
      dir ???123*.pdf
      

      【讨论】:

      • 我给你的例子正是这样做的——通配符给你多个(一个或多个)匹配。看我最后一句,看command-line reference中的dir命令。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多