标题: 请教一个文本文件批量重命名
[打印本页]
作者: dddyjq1
时间: 2008-8-6 22:20
标题: 请教一个文本文件批量重命名
能否帮忙写一个文本文件批量改名的批处理?要求有:将同一文件夹下的按1、2、3....的.TXT文件改成文件中“开放分类: ”所处行的前一行内容为文件名
附件
1:
1.txt (2008-8-6 22:20, 13.62 K,下载次数: 30)
作者: dddyjq1
时间: 2008-8-7 20:42
顶一下,请各位看看想想,先谢了
作者: dddyjq1
时间: 2008-8-9 22:49
请各位高手帮忙想想
作者: moniuming
时间: 2008-8-10 01:19
试试这个?
如果文件内容不包含"开放分类"这几个字会出错,确认无误后请把最后一行(echo ren %1 "!dos%m%!.txt")前的"echo"去掉.
@echo off
Setlocal Enabledelayedexpansion
for %%i in (*.txt) do call :ren_ "%%i"
pause&goto :eof
:ren_
for /f "tokens=1* delims=:" %%a in ('findstr /n .* %1') do (set "dos%%a=%%b")
for /f "tokens=1 delims=:" %%c in ('findstr /n 开放分类 %1') do (set /a "m=%%c-1")
echo ren %1 "!dos%m%!.txt"
作者: dddyjq1
时间: 2008-8-14 22:45
如果文件内容不包含"开放分类"就取第一行不是空格的内容,
4楼的文件运行时只会在屏幕上显示不会改名
先谢了
作者: HAT
时间: 2008-8-14 22:47
标题: Re 5楼
别人的代码,你看都不看就直接运行吗?
起码要把最后一行的echo删除嘛
作者: dddyjq1
时间: 2008-8-14 22:54
不好意思,没有注意,谢了,能否再加一条件
如果文件内容不包含"开放分类"就取第一行不是空格的内容,
作者: dddyjq1
时间: 2008-8-15 23:26
再请各位高手看看