[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 求助一个bat可以实现中间字符相同的文件自动合并并生成文件夹

简单举例, 有这样几个文件 DAP123 CAP123 AP123          DAP456 CAP456 AP456 前三个文件自动合并并生成名字为AP123文件夹 后三个自动合并并生成名字为AP456文件夹  感谢!!!

  1. @echo off&setlocal EnableDelayedExpansion
  2. for /f "delims=" %%a in ('dir /a-d/b^|find /v "%~nx0"') do (
  3.     set name=%%~na
  4.     set name=!name:~-5!
  5.         echo,if not exist !name! md !name!
  6.         echo, move "%%~sa" !name!
  7.                 )
  8.     pause
复制代码
如果是你要的结果,把echo,去掉可以执行.
智慧是,利用最简单的代码替代复杂事情的处理过程。
付款请扫头像二维码码,谢谢

TOP

我们可以理解你自动的心情,但有些东西不是万能自动的。比如,你上面提到的几乎同名字的图片和视频,好像是没有办法合并的,只能归类到一个文件夹下面。下面代码需要你手动参与。
  1. @echo off
  2. echo.
  3. set vl=
  4. set /p vl=-----请输入你要归类的文件主要文件名----》
  5. md %vl%&&move /y *%vl%*.* %vl%\
  6. cls
  7. 需重复保留这行后面的代码 %0
  8. 直接退出保留这行后面的代码 exit
复制代码
目的,学习批处理

TOP

指定字符相同的文件自动合并并生成文件夹

具体如下,有文件ap1234.jpg ap1234.png dap1234.wav cap1234.wav  将上述文件自动合并并新建文件夹名为ap1234    以此类推ap1235.jpg ap1235.png dap1235.wav cap1235.wav 自动合并并新建文件夹名为ap1235。    这种情况既不属于前几个字符相同的文件合并 也不属于指定第2、3、4字符相同的文件合并 而且要正确生成正确的文件夹名称 请高人指点应该如何实现

TOP

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. set "substr=-5"
  4. for /f "tokens=1 delims==" %%V in ('set #') do set "%%V="
  5. for %%F in (*.*) do (
  6.     if /i not "%%F"=="%~nx0" (
  7.         set "fn=%%F"
  8.         set "#!fn:~%substr%!=1"
  9.     )
  10. )
  11. for /f "delims==" %%V in ('set #') do (
  12.     set "fn=%%V"
  13.     set "fn=!fn:~1!"
  14.     md "!fn!\"
  15.     move "*!fn!" "!fn!\"
  16. )
  17. endlocal
  18. pause
  19. exit /b
复制代码

TOP

本帖最后由 lifei259 于 2018-10-22 09:50 编辑

我以为你要合并文件夹
智慧是,利用最简单的代码替代复杂事情的处理过程。
付款请扫头像二维码码,谢谢

TOP

返回列表