【问题标题】: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