Batch file 批处理文件根据文件名称的一部分移动文件
bat文件是否可以在文件夹中搜索并查看文件名,然后只移动其中包含该名称或部分名称的文件?然后将它们移动到指定的位置。 例如: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...
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”文件夹中 我真的不想复制文件,只想将它们移动到新位置。我能把“复制”改为“移动”并且还能用吗?