标题: [文本处理] 批处理怎样以文本行内容为文件名重命名目录下TXT文本? [打印本页]
作者: chuan31 时间: 2011-1-19 20:41 标题: 批处理怎样以文本行内容为文件名重命名目录下TXT文本?
是这样的 我需要实现以下功能:处理环境:当前文件夹下有A.txt(A.TXT里面有N行内容 行数不固定);有N个TXT文本(文件名不固定) 欲实现功能:(1)批量以A.TXT里面的行内容分别重命名当前文件夹下所有TXT文本,比如A.TXT里面有20行内容,就分别以这20行内容分别重命名20个当前文件夹下的txt文本,每命名一个就把对应的A.TXT里面的行删除 以防重复 创建数量以A.TXT行数为准。
作者: hanyeguxing 时间: 2011-1-19 21:13
- @echo off&setlocal enableDelayedExpansion
- set "r=a.txt"
- for /f "usebackq delims=" %%a in ("%r%") do set/a a+=1&set "#!a!=%%a"
- for %%a in (*.txt) do if /i not "%%a"=="%r%" (
- set/a b+=1
- if !b! gtr %a% goto:end
- for %%b in (!b!) do (
- ren "%%a" "!#%%b!.txt"
- set #!b!=
- ))
- :end
- (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 编辑 ]
作者: renshihong 时间: 2011-1-19 21:24
for /f 和ren可以实现
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |