[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理怎样用文本的名字对应文件命名?

有一个文本文件,上面是名字,下面对应的是文件名。 把文件夹里对应的文件,对应起来,重新命名,谢谢。
  1. 国际                                            
  2. 工作.docx       改名成              国际.docx
  3. 新加坡
  4. 学习.docx       改名成              新加坡.docx
  5. 娱乐.docx       改名成              新加坡-1.docx
  6. 中华人民共和国
  7. 场所.docx       改名成              中华人民共和国.docx
  8. 人民英雄纪念碑
  9. 体育希望.docx       改名成          人民英雄纪念碑.docx
  10. 海南岛
  11. 人民 公园.docx       改名成         海南岛.docx
  12. 中山纪念塔.docx       改名成        海南岛-1.docx
  13. 国际航空公司
  14. 杭州西湖.docx       改名成          国际航空公司.docx
复制代码
谢谢版主回帖,可能没说明白,下载下来的文件,查找这个文本,DOCX上面对应的名字,把文件重新命名




5楼代码可用,Perfact!Thanks!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. for /f "usebackq delims=" %%a in ("a.txt") do if exist "%%a" (
  3.     setlocal enableDelayedExpansion
  4.     ren "%%a" "!a!!b!%%~xa"
  5.     endlocal&set/ab-=1
  6. ) else set b=&set "a=%%a"
复制代码
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

本帖最后由 fkfreedom 于 2011-5-1 16:59 编辑

谢谢版主回帖,可能没说明白,下载下来的文件,改成下载链接上对应的名字


已更新首贴。

TOP

本帖最后由 hanyeguxing 于 2011-5-1 15:35 编辑

要求: http://www.bathome.net/人民 公园.docx 中只能有两组 /
  1. @echo off&setlocal enableDelayedExpansion
  2. set "c=a.txt"
  3. for /f "usebackq tokens=1,2* delims=/" %%a in ("%c%") do (
  4.     if /i "%%a"=="http:" (
  5.         if /i not "%%c"=="%c%" ren "%%~c" "!a!!b!%%~xc"
  6.         set/ab-=1
  7.     ) else set b=&set "a=%%a"
  8. )
复制代码
当文本中文件名与批处理名绝不重复时,可不用 if /i not "%%c"=="%c%"
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

继续求教

TOP

返回列表