Batch file 批处理文件根据文件名称的一部分移动文件

Batch file 批处理文件根据文件名称的一部分移动文件,batch-file,directory,move,Batch File,Directory,Move,bat文件是否可以在文件夹中搜索并查看文件名,然后只移动其中包含该名称或部分名称的文件?然后将它们移动到指定的位置。 例如: Parent Folder Arrow0273.text Arrow0314.text Spear083112.text Spear0832.text Sheild087.txt Sheild87.txt Move only the files with “Arrow” in their name into folder location “A”. ect...

bat文件是否可以在文件夹中搜索并查看文件名,然后只移动其中包含该名称或部分名称的文件?然后将它们移动到指定的位置。 例如:

Parent Folder 
Arrow0273.text
Arrow0314.text
Spear083112.text
Spear0832.text 
Sheild087.txt
Sheild87.txt 

Move only the files with “Arrow” in their name into folder location “A”. 
ect... 
谢谢大家! 编辑:
找到了这个,但不确定它是否是我正在寻找的,老实说,不确定代码是如何工作的

copy支持通配符,因此您只需执行以下操作:


复制箭头*A

可能是这样的吗?我不久前在这里发现了这个,我一直在用它。它将根据文件名和类型将文件移动到文件夹中。如果该文件夹不存在,它将在批处理文件的当前位置创建该文件夹。如果文件夹已经存在,它只需将其移动到该文件夹

@echo off&setlocal
对于/f“delims=“%%i in('dir/b/a-d*.text')do(
设置“filename1=%%~i”
延迟扩展
设置“folder1=!filename1:~0,1!”
mkdir“!folder1!”2>num
移动“!filename1!”!folder1!”>nul
端部
)
可以更改第2行中的“.pdf”以指定文件类型。您可以使用“*”移动所有文件类型,但这也会移动.bat文件和文件夹

第5行中的“~0,1!”确定要查看哪些字符来确定文件夹名称。第一个数字决定它开始看哪个字符(0在开头,1从开头算起,等等)。第二个数字决定它查看的字符数。如果更改为2,它将查看文件中的前2个字符


当前,它被设置为仅查看第一个字符并仅移动.text文件。对于示例中的文件,它会将名为“a”的文件夹中的所有“箭头”文件以及所有“矛”文件移动到名为“S”的文件夹中。“屏蔽”文件将保留在原来的位置,因为它们的扩展名是.txt,而不是.text。如果将“.text”更改为“.t*”,它将把.txt和.text文件都移动到“A”和“S”文件夹中

我真的不想复制文件,只想将它们移动到新位置。我能把“复制”改为“移动”并且还能用吗?