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

[文件操作] 批处理按顺序对应的重命名求助

[复制链接]
发表于 2018-8-12 20:51:47 | 显示全部楼层 |阅读模式
有如下求助,请高手赐教,谢谢

1)        左边2018开头的文件是批量扫描出来的,按扫描顺序排列,文件命名大概是以时间命名精确到秒,我这里是仅简单举例.实际文件数量超过300个,而且肯定是偶数个

2)        TXT文件是按扫描文件内容顺序排列的九位数识别码(每两个文件一个识别码,只是后缀不同)

3)   右边是执行批处理命令后的结果,第1,第2个文件名为TXT文件的第一个九位数,后缀第1个为“Agreement”,第2个后缀为“BL” ,以此类推
发表于 2018-8-13 06:24:14 | 显示全部楼层
  1. @echo off&&setlocal enabledelayedexpansion
  2. md 已处理
  3. :xh
  4. for /f %%i in (名称.txt) do (
  5.    set p=0
  6.    findstr /v "%%i" 名称.txt>>abc.txt
  7.    move /y abc.txt 名称.txt
  8.   for /f %%g in ('dir /b/on *.pdf') do (
  9.    set /a p+=1
  10.    if !p!==1 move %%g "已处理\%%i Agreement.pdf
  11.    if !p!==2 move %%g "已处理\%%i Bl.pdf"&&goto xh
  12.   )
  13. )
  14. exit
复制代码
测试通过,需备份好原文件,以免意外。
发表于 2018-8-13 15:11:34 | 显示全部楼层
本帖最后由 yhcfsr 于 2018-8-13 15:18 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set "datetime=201807151211"
  3. for /f "delims=" %%a in (Account.txt) do (
  4.         set/a n+=1
  5.         if exist "%datetime% !n!.pdf" ren "%datetime% !n!.pdf" "%%a Agreement.pdf"
  6.         set/a n+=1
  7.         if exist "%datetime% !n!.pdf" ren "%datetime% !n!.pdf" "%%a BL.pdf"
  8. )
  9. pause
复制代码
说明:
1.第二行设置文件前缀,即文件时间前缀要统一.
2.文本行数与文件数的对应关系为1:2.
只有同时满足以上两点才能使用此脚本.注意备份文件.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 00:12 , Processed in 0.029280 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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