是否有可能为一个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...
多谢你们! 编辑:发现这不过不知道它是什么我正在寻找,并坦率地说,不知道这些代码是如何工作的。 移动基于文件名的某部分文件目录?
也许这样的事情? 我前一阵子发现这个放在这里,我用它所有的时间。 它会移动文件到基于文件名和类型的文件夹。 如果该文件夹不存在,它会在批处理文件的当前位置创建文件夹。 如果文件夹已经存在,它会简单地将其移动到该文件夹。
@echo off &setlocal
for /f "delims=" %%i in ('dir /b /a-d *.text') do (
set "filename1=%%~i"
setlocal enabledelayedexpansion
set "folder1=!filename1:~0,1!"
mkdir "!folder1!" 2>nul
move "!filename1!" "!folder1!" >nul
endlocal
)
所述“.PDF”在第2行可以被改变,以指定的文件类型。 您可以使用“*”将所有文件类型,虽然这也将移动.bat文件和文件夹。
在“〜0.1”! 在第5行确定哪些字符搜索以确定所述的文件夹名称。 第一个数字确定它开始寻找在哪个字符(0是在开始时,图1是从一开始1个字符,等等)。 第二个数字决定了它有多少个字符看。 如果设定为2,它看起来在文件中的第2个字符。
目前,它被设置为只能看第一个字符,仅移动的.text文件。 对于您的示例文件时,它都会为一个名为“A”文件夹中的“箭”的文件,所有的“矛”文件移动到一个名为“S”的文件夹。 在“盾牌”的文件会留他们在哪里,他们的扩展名为.txt,.text区段没有。 如果你改变“ 的.text”到“.T *”将同时.txt和的.text文件拷贝到“A”和“S”的文件夹。