Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 使用批处理文件查找部分匹配的完整文件名,然后移动它们_Batch File_Windows Xp_Find_Dos_Move - Fatal编程技术网

Batch file 使用批处理文件查找部分匹配的完整文件名,然后移动它们

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 如果

我需要一个批处理文件,将找到一个文件夹中的所有文件与设置变量在那里的名称,然后将它们移动到一个不同的文件夹。这必须在windows XP计算机上运行

例如:

文件夹中有这些文件

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