Board logo

标题: [文件操作] 批处理如何将文件按照文件标记移动到新的文件夹 [打印本页]

作者: jingfang434    时间: 2022-5-30 22:49     标题: 批处理如何将文件按照文件标记移动到新的文件夹

有若干文件夹,每个文件夹中有很多图片,名字如下:
0001-.jpg
0002.jpg
0003.jpg
0004-.jpg
0005.jpg
0006-.jpg
0007.jpg
我想让命令建立多个文件夹0001、0002、0003的文件夹,将0001-.jpg至0003.jpg移动到0001文件夹,将0004-.jpg至0005.jpg移动到0002文件夹,将0006-.jpg至0007.jpg移动到0003文件夹
请问如何编写命令,在此感谢
作者: Batcher    时间: 2022-5-31 08:45

回复 1# jingfang434


    移动的规律是什么,比如8、9、10个文件呢?
作者: jingfang434    时间: 2022-5-31 10:30

回复 2# Batcher


    你好,每个文件夹中文件数量不同
作者: flashercs    时间: 2022-5-31 11:00

本帖最后由 flashercs 于 2022-5-31 12:07 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. for %%i in ("文件夹1" "文件夹2") do (
  5.   if exist "%%~i\" (
  6.     pushd "%%~i\"
  7.     echo "%%~i\"
  8.     set ctr=10000
  9.     for /f "delims=" %%A in ('2^>nul dir /a-d /b *jpg') do (
  10.       set basename=%%~nA
  11.       if "!basename:~-1!"=="-" (
  12.         set /a ctr+=1
  13.         set dirname=!ctr:~-4!
  14.         md "!dirname!\" 2>nul
  15.       )
  16.         move "%%A" "!dirname!\"
  17.     )
  18.     popd
  19.   )
  20. )
  21. endlocal
  22. pause
  23. exit /b
复制代码

作者: jingfang434    时间: 2022-5-31 11:54

回复 4# flashercs


    多谢多谢!请问如何可以同时处理多个文件夹中的文件呢?
作者: flashercs    时间: 2022-5-31 12:08

回复 5# jingfang434


    2楼修改了一下
作者: jingfang434    时间: 2022-5-31 12:26

回复 6# flashercs


    感谢感谢!测试了,很好




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2