Windows bat-- 批量移动文件用的脚本

文件名:


。。。
2023/03/09  17:44         1,447,243 179_01.jpg
2023/03/09  17:44         1,683,362 179_02.jpg
2023/03/09  17:44         1,326,485 179_03.jpg
2023/03/09  17:44         1,343,408 179_04.jpg
2023/03/09  17:44         1,076,812 179_05.jpg
2023/03/09  17:44         1,089,072 179_06.jpg
2023/03/09  17:44         1,296,026 179_07.jpg
2023/03/09  17:45         1,276,789 179_08.jpg
2023/03/09  17:45         1,408,948 179_09.jpg
2023/03/09  17:45         1,191,245 179_10.jpg
2023/03/09  17:45           927,042 179_11.jpg
2023/03/09  17:45         1,934,153 179_12.jpg
2023/03/09  17:45         1,637,818 179_13.jpg
2023/03/09  17:45           330,096 179_14.jpg
2023/03/23  16:35         2,594,340 180_01.jpg
2023/03/23  16:35         1,106,797 180_02.jpg
2023/03/23  16:35         1,475,929 180_03.jpg
2023/03/23  16:35         1,367,075 180_04.jpg
2023/03/23  16:35           875,998 180_05.jpg
2023/03/23  16:36         1,246,372 180_06.jpg
2023/03/23  16:36         1,421,624 180_07.jpg
2023/03/23  16:36         1,480,841 180_08.jpg
2023/03/23  16:36           984,500 180_09.jpg
2023/03/23  16:36         1,263,001 180_10.jpg
2023/03/23  16:36           986,922 180_11.jpg
2023/03/23  16:36           993,288 180_12.jpg
2023/03/23  16:36           103,184 180_13.jpg
。。。

需求:
将当前目录下所有以001_、002_、003_...181_开头的文件分别移动到001_、002_、003_...181_目录下

脚本:

@echo off
setlocal enabledelayedexpansion
rem 遍历当前目录下以 001_ 到 181_ 开头的文件
for /L %%i in (1, 1, 181) do (
    set "prefix=00%%i"
    set "prefix=!prefix:~-3!_"          rem格式化为三位数字,舍去前面多余的零
    rem 遍历所有以当前前缀开头的文件
    for %%j in (!prefix!*) do (
        move "%%j" "!prefix!"
    )
)
endlocal
pause

使用说明:
将bat脚本与文件和文件夹放在相同文件夹内,执行bat脚本




ps:
1.一键批量创建文件夹: https://www.cnblogs.com/used-conduit-onion/p/18847574

posted @ 2025-04-26 04:08  基础狗  阅读(83)  评论(0)    收藏  举报