bat批处理前缀相同的文件

时间:2024-03-24 21:42:42

需要将一个目录下的文件按照文件名的前缀或后缀移动文件到相应的文件夹下面。要实现文件分类,我们需要获得文件的前缀,再用move命令移动文件。
1、获取文件前缀,即截取文件的字符,截取字段函数格式为 %a:~[m[,n]]%

@echo off
set a=hello world
rem 截取前5个字符
echo %a:~0,5% 
pause

2、for 循环 ,利用循环历遍整个文件,找到符合的文件
3、举个例子
在D:\est1下有一个多个文件,需要将myname_前缀的文件移动指定位置,如
bat批处理前缀相同的文件
4、实现代码如下

@echo off
setlocal enabledelayedexpansion
for /f "delims==." %%a in ('dir D:\test1\*.txt /b') do (
set "b=%%a"
set "c=!b:~0,7!"
if "!c!"=="myname_" (move D:\test1\!b!.txt D:\test2)
)
pause

结果显示如下
bat批处理前缀相同的文件