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

[文本处理] 批处理怎样以文本行内容为文件名重命名目录下TXT文本?

[复制链接]
发表于 2011-1-19 20:41:10 | 显示全部楼层 |阅读模式
是这样的 我需要实现以下功能:处理环境:当前文件夹下有A.txt(A.TXT里面有N行内容 行数不固定);有N个TXT文本(文件名不固定) 欲实现功能:(1)批量以A.TXT里面的行内容分别重命名当前文件夹下所有TXT文本,比如A.TXT里面有20行内容,就分别以这20行内容分别重命名20个当前文件夹下的txt文本,每命名一个就把对应的A.TXT里面的行删除 以防重复 创建数量以A.TXT行数为准。
发表于 2011-1-19 21:13:44 | 显示全部楼层
  1. @echo off&setlocal enableDelayedExpansion
  2. set "r=a.txt"
  3. for /f "usebackq delims=" %%a in ("%r%") do set/a a+=1&set "#!a!=%%a"
  4. for %%a in (*.txt) do if /i not "%%a"=="%r%" (
  5.         set/a b+=1
  6.         if !b! gtr %a% goto:end
  7.         for %%b in (!b!) do (
  8.                 ren "%%a" "!#%%b!.txt"
  9.                 set #!b!=
  10. ))
  11. :end
  12. (for /f "tokens=1* delims==" %%a in ('set #') do echo/%%b)>"%r%"
复制代码
如果 a.txt 中已包含 .txt ,则把 ren "%%a" "!#%%b!.txt" 中的 .txt 去掉

[ 本帖最后由 hanyeguxing 于 2011-1-19 21:19 编辑 ]

评分

参与人数 1技术 +1 收起 理由
chuan31 + 1 非常好用 非常感谢!必须加分!

查看全部评分

发表于 2011-1-19 21:24:19 | 显示全部楼层
for /f 和ren可以实现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 21:08 , Processed in 0.016762 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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