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

jar*_*ane 1 windows-xp dos move batch-file find

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

例子:

该文件夹有这些文件

abc123abc.pdf
efg123eft.pdf
hig456hig.pdf
Run Code Online (Sandbox Code Playgroud)

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

Ken*_*ite 5

123如果您想要其中任意位置的名称:

move *123*.* c:\newfolder
Run Code Online (Sandbox Code Playgroud)

如果您希望123始终是第四个、第五个和第六个字符:

move ???123*.* c:\newfolder
Run Code Online (Sandbox Code Playgroud)

如果您只想要.pdf包含以下内容的文件123(上述任一匹配项):

move *123*.pdf c:\newfolder
Run Code Online (Sandbox Code Playgroud)

可以从批处理文件运行,也可以直接从命令提示符运行。

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

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

dir *.*

dir *123*

dir *123*.pdf

dir ???123*.pdf
Run Code Online (Sandbox Code Playgroud)