Board logo

标题: [文本处理] 批处理怎样取文本中每一行的内容作为文件名? [打印本页]

作者: mafeifan    时间: 2011-3-22 21:45     标题: 批处理怎样取文本中每一行的内容作为文件名?

跟这个帖子有点类似
[已解决]批处理怎样提取文本中每一行的内容作为其他文本的文件名?
按序号把每个文件名重新修改成文本里面的
如 001.gra_hltd_rua 改为 【Ltd.001】 Rua Mochizuki 望月るあ



作者: TX_kakashi    时间: 2011-3-23 12:37

能否上传一个目录.txt作为测试用?还有个问题就是目录.txt里的文件名数量和实际文件夹数量是否相等?
(ps:这些名称该不会是.....)
作者: hanyeguxing    时间: 2011-3-23 12:52

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (目录.txt) do (
  3. set "a=%%a"
  4. set "a=!a:~5,3!"
  5. for %%b in (!a!*) do echo ren "%%b" "%%a"
  6. )
  7. pause
复制代码
测试显示正确后,将ren前的echo 去掉
作者: mafeifan    时间: 2011-3-23 19:27

测试了下貌似不行哦
.txt里的文件名数量和实际文件夹数量是否相等?
相等!
(ps:这些名称该不会是.....)
嘿嘿 是 Graphis Limited Edition套图目录

把目录上传了吧
作者: caruko    时间: 2011-3-23 19:42

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=2* delims=.】" %%a in (目录.txt) do (
  3.          for /f "delims=" %%i in ('dir /b /ad %%a.*') do (
  4.                  ren "%%i" "【Ltd.%%a】 %%b"
  5.          )
  6. )
复制代码

作者: caruko    时间: 2011-3-23 19:49

另外,图片不错。。。
作者: mafeifan    时间: 2011-3-23 20:00

还是不行啊 其实我就想把中文名也加上去 原名是 001.gra_hltd_rua 改成 001 Rua Mochizuki 望月るあ 也行
作者: 天幽    时间: 2011-3-23 20:03

版主做的那个代码 不是只显示出 需要的文件名么?

还是没有修改那些文件夹的名啊
作者: Batcher    时间: 2011-3-23 20:49

8# 天幽


再看看3楼的最后一句话?
作者: Batcher    时间: 2011-3-23 20:50

4# mafeifan


更新到顶楼吧,以便其他人查看。




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