无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
12
返回列表 发新帖
楼主: freesoft00
打印 上一主题 下一主题

[求助] 批处理改名

[复制链接]
31#
发表于 2024-3-4 21:14:37 | 只看该作者
本帖最后由 dos时代菜鸟 于 2024-3-5 19:01 编辑
  1. @ECHO OFF
  2. setlocal ENABLEDELAYEDEXPANSION
  3. if "%~1"=="" goto :end1
  4. set "dir1=%~1"
  5. set "file1=%~dp0222.txt"
  6. PUSHD %1

  7. echo.>"!file1!"
  8. for /f "tokens=1,3 delims=," %%c in (ming.csv) do (
  9.     call :ren1 %1 %%c %%d
  10. )
  11. goto :end2

  12. :ren1
  13.     for %%i in (%2*.jpg) do (
  14.         for /f "tokens=3 delims=_." %%l in ("%%i") do (
  15.             set "str1=%%l"
  16.             if not  "!str1:~15,3!"=="" (
  17.                 echo %%~ni %2_%3
  18.                 echo %%i,!str1!,%2_%3.jpg>>"!file1!"
  19.                 ren  "%%i" "%2_%3.jpg"
  20.                 exit /b
  21.             )
  22.         )
  23.     )
  24. exit /b

  25. :end1
  26.     echo “参数不对”!
  27.     echo.
  28. :end2
  29.     pause

复制代码




222-2.7z (83.5 KB, 下载次数: 8)
原来 原始 ming.csv 中没有 身份证号,那就换个思路。

见附件,把含有 ming.csv 及 *.jpg 的文件夹 拖放到 222-1.cmd 中,就可以得到结果,并生成记录文件 222.txt ,可以解决姓名重名问题。

分析原始 jpg 文件名称 包含信息的特点和 更名后的文件名特点,区别是 身份证号 位数要长一些,第15-18 位有内容。
文件夹 和 ming.csv 中都有姓名重名情况,但是,没有 身份证与工号的一一对应关系。所以,输出一个 更名 对应关系的记录文件 是 必要的。

如此,就算重名,如果 这个 jpg 文件 已经不是原始名字了,就 不予考虑。
遍历 ming.csv ,一行一行的过,在文件夹中找到第一个 没改名的 jpg (改过的不算,找下一个) ,就 改名,然后以此类推,同时把 改名记录存入 222.txt 。









点评

嗯,有身份证号的话不会重复,它们可能做文档的时候没有弄上去,所以前面的批处理就会有重名的情况。 这些都留着,测试测试  详情 回复 发表于 2024-3-4 23:13

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

32#
 楼主| 发表于 2024-3-4 23:13:26 | 只看该作者
dos时代菜鸟 发表于 2024-3-4 21:14
原来 原始 ming.csv 中没有 身份证号,那就换个思路。

见附件,把含有 ming.csv 及 *.jpg 的 ...

嗯,有身份证号的话不会重复,它们可能做文档的时候没有弄上去,所以前面的批处理就会有重名的情况。
这些都留着,测试测试
回复

使用道具 举报

33#
发表于 2024-3-5 17:49:53 来自手机 | 只看该作者
很实用的
回复

使用道具 举报

34#
发表于 2024-3-9 20:17:31 | 只看该作者
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-28 02:10

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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