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

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

有如下求助,请高手赐教,谢谢

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

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

3)   右边是执行批处理命令后的结果,第1,第2个文件名为TXT文件的第一个九位数,后缀第1个为“Agreement”,第2个后缀为“BL” ,以此类推

本帖最后由 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.
只有同时满足以上两点才能使用此脚本.注意备份文件.
QQ 33892006

TOP

  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
复制代码
测试通过,需备份好原文件,以免意外。
目的,学习批处理

TOP

返回列表