标题: [文件操作] [已解决]批处理怎样用文本的名字对应文件命名? [打印本页]
作者: fkfreedom 时间: 2011-5-1 02:01 标题: [已解决]批处理怎样用文本的名字对应文件命名?
有一个文本文件,上面是名字,下面对应的是文件名。 把文件夹里对应的文件,对应起来,重新命名,谢谢。- 国际
- 工作.docx 改名成 国际.docx
- 新加坡
- 学习.docx 改名成 新加坡.docx
- 娱乐.docx 改名成 新加坡-1.docx
- 中华人民共和国
- 场所.docx 改名成 中华人民共和国.docx
- 人民英雄纪念碑
- 体育希望.docx 改名成 人民英雄纪念碑.docx
- 海南岛
- 人民 公园.docx 改名成 海南岛.docx
- 中山纪念塔.docx 改名成 海南岛-1.docx
- 国际航空公司
- 杭州西湖.docx 改名成 国际航空公司.docx
复制代码
谢谢版主回帖,可能没说明白,下载下来的文件,查找这个文本,DOCX上面对应的名字,把文件重新命名
5楼代码可用,Perfact!Thanks!
作者: fkfreedom 时间: 2011-5-1 11:43
继续求教
作者: hanyeguxing 时间: 2011-5-1 15:22
本帖最后由 hanyeguxing 于 2011-5-1 15:35 编辑
要求: http://www.bathome.net/人民 公园.docx 中只能有两组 /- @echo off&setlocal enableDelayedExpansion
- set "c=a.txt"
- for /f "usebackq tokens=1,2* delims=/" %%a in ("%c%") do (
- if /i "%%a"=="http:" (
- if /i not "%%c"=="%c%" ren "%%~c" "!a!!b!%%~xc"
- set/ab-=1
- ) else set b=&set "a=%%a"
- )
复制代码
当文本中文件名与批处理名绝不重复时,可不用 if /i not "%%c"=="%c%"
作者: fkfreedom 时间: 2011-5-1 16:33
本帖最后由 fkfreedom 于 2011-5-1 16:59 编辑
谢谢版主回帖,可能没说明白,下载下来的文件,改成下载链接上对应的名字
已更新首贴。
作者: hanyeguxing 时间: 2011-5-1 17:19
- @echo off
- for /f "usebackq delims=" %%a in ("a.txt") do if exist "%%a" (
- setlocal enableDelayedExpansion
- ren "%%a" "!a!!b!%%~xa"
- endlocal&set/ab-=1
- ) else set b=&set "a=%%a"
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |