标题: [文本处理] 批处理将文件名写入txt第一行并生成目录 [打印本页]
作者: Wingl83 时间: 2009-6-28 13:05 标题: 批处理将文件名写入txt第一行并生成目录
因为我的手机只能识别英文,所以若想把txt放入手机中查看,必须要把文件名改为英文,但是这样又不好识别,所以想建一个批处理,将该文件夹下的所有txt文件名写入对应文件的文件头中,再把所有txt按001.txt、002.txt这样的规格重命名。
[ 本帖最后由 Wingl83 于 2009-7-1 19:02 编辑 ]
作者: namejm 时间: 2009-6-28 13:18
哪些文件要被命名为001.txt,哪些又必须被命名为002.txt?以何为序?
作者: zhouyongjun 时间: 2009-6-28 15:01
- @echo off
- set/a n=1000
- for %%a in (*.txt) do (
- for /f "delims=" %%b in ('findstr/n ".*" "%%~a"') do (
- set "str=%%b"&setlocal enabledelayedexpansion
- set "str=!str:*:=!"
- if not defined flag (>%%a echo %%~na&>>%%a echo/!str!) else (>>%%a echo/!str!)
- endlocal&set flag=a
- )
- set "flag="&call :_ren "%%a"
- )
- pause&exit
- ::重命名
- :_ren
- set/a n+=1
- if not exist %n:~1%.txt (ren %1 "%n:~1%.txt") else goto _ren
复制代码
作者: FOR 时间: 2009-6-28 15:19
- @echo off&set /a n=1000
- setlocal enabledelayedexpansion
- for %%i in (*.txt) do (
- set /a n+=1
- echo %%~ni>!n:~-3!.txt
- copy /b !n:~-3!.txt+"%%~nxi" !n:~-3!.txt
- del/q "%%i"
- )
- pause
复制代码
[ 本帖最后由 FOR 于 2009-6-30 16:06 编辑 ]
作者: keen 时间: 2009-6-30 15:53 标题: 回复 4楼 的帖子
del/q "%%a" 这句是什么?
应该是del/q "%%i"吧。
作者: Wingl83 时间: 2009-7-1 19:02
另:若要生成目录000.txt呢?如
text1.txt → 001.txt
text2.txt → 002.txt
text3.txt → 003.txt
其中,“→”为标示符,表示是将→左边的文档重命名为→右边的文档。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |