找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24979|回复: 2

[文件操作] 如何将多个文件夹里的文件以所在文件夹名加递增序号的方式重命名并复制到指定文件夹里

[复制链接]
发表于 2016-7-26 12:42:04 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-7-26 13:21 编辑

我有大概200多个子文件夹在同一文件夹下,名字为数字1.2.3.4顺序排列,每个文件夹内有数目不等并且名字无序的图片

我想要把这些图片按照各自所在的文件夹命名。例如,把名称为1的文件夹内的3个图片,改成1_01,1_02,1_03,同理,把名称为2的文件夹内的4个图片,改成2_01,2_02,2_03,2_04

最后把所有命名后的文件提取到另一个文件夹里面并且名称不改动,还是1_01,1_02,2_01,2_02

由于需要改动的图片有几千个,还需要筛选,并且分类为10多组,工程量太大!我不想来年老婆带着新欢来给我烧纸啊!!!!希望各位大神能帮我一下,感激不尽

评分

参与人数 1PB -2 收起 理由
pcl_test -2 发帖前先使用论坛搜索

查看全部评分

发表于 2016-7-28 21:22:12 | 显示全部楼层
本帖最后由 binghejin 于 2016-7-29 15:12 编辑

所有的文件最终会全部改名后复制到名为OK的目录中,源文件没有删除!
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cls
  4. dir /ad /b >list.txt
  5. for /f %%a in (list.txt) do (
  6.         dir %%a\*.* /b >list_%%a.txt
  7. )
  8. md ok
  9. for /f %%b in (list.txt) do (
  10.         for /f "delims=" %%i in (list_%%b.txt) do (
  11.                 set /a n+=1
  12.                   copy "%%b\%%i" "ok\%%b_!n!"
  13.                 )
  14.         set n=0
  15. )
  16. del list*.txt >nul
复制代码

评分

参与人数 1技术 +1 收起 理由
bailong360 + 1 乐于助人

查看全部评分

发表于 2016-7-29 09:21:11 | 显示全部楼层
本帖最后由 bailong360 于 2016-7-29 09:33 编辑

  1. (let ((PATH "G:\\test\"))
  2.   (dolist (dir (directory-files PATH nil "^\[0-9\]+$"))
  3.     (setq n 0)
  4.     (dolist (file (directory-files (concat PATH dir) nil "\[^.\]"))
  5.       (setq n (+ 1 n))
  6.       (let ((oldname (concat PATH dir "\" file))
  7.             (newname (format "%s%s\\%s_%02d" PATH dir dir n)))
  8.         (rename-file oldname newname)
  9.         (copy-file   newname "G:\\newfolder")))))
复制代码
练手党撸一发
顺便吐槽一下directory-files文件目录都列出来是什么鬼?
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. ::CODE BY bailong360 @bbs.bathome.net
  4. for /f "delims=" %%i in ('dir /ad /b "G:\test"') do (
  5.     set n=0
  6.     for /f "delims=" %%j in ('dir /a-d /b "%%i"') do (
  7.         set /a n+=1
  8.         ren "%%i" "%%i\%%~ni_!n!"
  9.         copy "%%i\%%~ni_!n!" "G:\newfolder"
  10.     )
  11. )
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 14:11 , Processed in 0.018130 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表