Board logo

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

作者: mercuryljl    时间: 2018-10-20 15:49     标题: 求助一个bat可以实现中间字符相同的文件自动合并并生成文件夹

简单举例, 有这样几个文件 DAP123 CAP123 AP123          DAP456 CAP456 AP456 前三个文件自动合并并生成名字为AP123文件夹 后三个自动合并并生成名字为AP456文件夹  感谢!!!
作者: lifei259    时间: 2018-10-20 16:51

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

我以为你要合并文件夹
作者: flashercs    时间: 2018-10-20 17:36

  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
复制代码

作者: mercuryljl    时间: 2018-10-20 22:42     标题: 指定字符相同的文件自动合并并生成文件夹

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

我们可以理解你自动的心情,但有些东西不是万能自动的。比如,你上面提到的几乎同名字的图片和视频,好像是没有办法合并的,只能归类到一个文件夹下面。下面代码需要你手动参与。
  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
复制代码

作者: lifei259    时间: 2018-10-22 10:24

  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,去掉可以执行.




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