Batch file 使用批处理文件查找部分匹配的完整文件名,然后移动它们
我需要一个批处理文件,将找到一个文件夹中的所有文件与设置变量在那里的名称,然后将它们移动到一个不同的文件夹。这必须在windows XP计算机上运行 例如: 文件夹中有这些文件Batch file 使用批处理文件查找部分匹配的完整文件名,然后移动它们,batch-file,windows-xp,find,dos,move,Batch File,Windows Xp,Find,Dos,Move,我需要一个批处理文件,将找到一个文件夹中的所有文件与设置变量在那里的名称,然后将它们移动到一个不同的文件夹。这必须在windows XP计算机上运行 例如: 文件夹中有这些文件 abc123abc.pdf efg123eft.pdf hig456hig.pdf 如果我们搜索包含“123”的文件名,则它会将abc123abc.pdf和efg123eft.pdf移到一个设置的文件夹中。不需要批处理文件-带有通配符的move命令本身会这样做: move *123* c:\where\ever 如果
abc123abc.pdf
efg123eft.pdf
hig456hig.pdf
如果我们搜索包含“123”的文件名,则它会将abc123abc.pdf和efg123eft.pdf移到一个设置的文件夹中。不需要批处理文件-带有通配符的move命令本身会这样做:
move *123* c:\where\ever
如果希望名称中的任何位置都包含
123
:
move *123*.* c:\newfolder
如果希望123
始终为第4、第5和第6个字符:
move ???123*.* c:\newfolder
如果您只希望.pdf
文件具有123
(以上任一匹配项):
可以从批处理文件中工作,也可以直接从命令提示符中工作
?
匹配单个字符,*
匹配一个或多个字符。它们被称为通配符操作符
,或者简称为通配符
要查看通配符运算符的工作方式,请在要使用的文件夹中打开一个命令(“DOS”)窗口,然后尝试(dir
用于目录列表,不会影响任何实验):
我给你的例子就是这么做的——通配符给你多个(一个或多个)匹配。请参阅我的最后一句话,以及中的
dir
命令。
move *123*.pdf c:\newfolder
dir *.*
dir *123*
dir *123*.pdf
dir ???123*.pdf