Board logo

标题: [文本处理] 求助批处理如何实现批量重命名把数字改成对应的汉字? [打印本页]

作者: hchvip    时间: 2009-5-7 20:44     标题: 求助批处理如何实现批量重命名把数字改成对应的汉字?

每个文件都是数字的名称,每个数字的名称都有一个无规律的汉语名字,怎么样才能批量把这些数字名字改成汉语的,汉语的名字和数字的一一对应关系已经写在一个txt文件里了



12545522      看看
323232           你好
就是这个样子的

[ 本帖最后由 hchvip 于 2009-5-8 12:56 编辑 ]
作者: Batcher    时间: 2009-5-7 22:35

给几个例子看看
把记录汉语的名字和数字的一一对应关系的文件贴出来看看
作者: Batcher    时间: 2009-5-8 15:38

  1. @echo off
  2. set SrcFolder=C:\test\Batcher
  3. set FileList=C:\test\FileList.txt
  4. for %%a in ("%SrcFolder%\*.*") do (
  5.   call :ChageName "%%a"
  6. )
  7. goto :eof
  8. :ChageName
  9. for /f "usebackq tokens=1-2" %%h in ("%FileList%") do (
  10.   if "%~n1" equ "%%h" (
  11.     ren %1 "%%i%~x1"
  12.     goto :eof
  13.   )
  14. )
复制代码

作者: inittab    时间: 2009-5-8 23:55

对应的文件名为 1.txt
批处理复制到待处理的文件夹中。
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1,2" %%a in (1.txt) do set #%%a=%%b
  3. for /f "delims=" %%a in ('dir/b *.*') do if defined #%%~na (ren %%a !#%%~na!.*)
  4. pause
复制代码

作者: Batcher    时间: 2009-5-9 00:02     标题: 回复 4楼 的帖子

批处理不允许无限制的定义变量,所以待处理的文件较多时,这个方法就不行了。
作者: inittab    时间: 2009-5-9 00:59     标题: 回复 5楼 的帖子

恩,看了有篇技术文章,好像是总计不超过65M. 单个不超过8192B.

[ 本帖最后由 inittab 于 2009-5-9 01:03 编辑 ]




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2