找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26561|回复: 9

[文本处理] 批处理怎样按照时间顺序依次批量修改文件名为name.txt中的内容?

[复制链接]
发表于 2012-6-1 17:59:31 | 显示全部楼层 |阅读模式
一个文件夹中有若干文件和一个name.txt,name.txt中存放将要重命名这些文件所要用到的文件名,每行一个文件名。现在想用批处理依次将这些文件修改为name.txt中的名字,求高手指点。谢谢!
发表于 2012-6-1 18:03:11 | 显示全部楼层
name.txt的内容贴几行出来看看
 楼主| 发表于 2012-6-1 20:45:30 | 显示全部楼层
回复 2# gawk

比如文件夹里面有三个文件分别是a.jpg, b.png, c.jpg;
name.txt里面有三个名字,分别是:
hello
world
hi
我的需求是按照时间从前到后,分别把a.jpg, b.png, c.jpg;变成hello.jpg, world.png, hi.jpg
发表于 2012-6-2 11:27:27 | 显示全部楼层

  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%i in ('dir /a-d /o-d /b ^|find /v "name.txt"') do (
  3.   set /p v=
  4.   ren "%%i" !v!%%~xi
  5. ))<name.txt
复制代码
 楼主| 发表于 2012-6-2 12:27:21 | 显示全部楼层
回复 4# lvsehuaxue

测试没有用啊
 楼主| 发表于 2012-6-7 09:40:03 | 显示全部楼层
自己顶起,希望高手指点。
发表于 2012-6-7 10:14:04 | 显示全部楼层
回复 1# hrhktkbzyy

你的name.txt文件放在哪里?需要重命名文件的文件夹又在哪里?
 楼主| 发表于 2012-6-7 12:30:18 | 显示全部楼层
回复 7# apang

放在同一个文件夹中。
发表于 2012-6-7 13:07:47 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (name.txt) do set/a n+=1&set .!n!=%%a
  3. for /f "delims=" %%a in ('dir /a-d /b /o-d') do (
  4.   if /i not "%%a"=="name.txt" if /i not "%%a"=="%~nx0" (
  5.     set/a m+=1
  6.     if !m! leq !n! call ren "%%a" "%%.!m!%%%%~xa"
  7.   )
  8. )
  9. pause
复制代码
 楼主| 发表于 2012-6-7 16:35:19 | 显示全部楼层
回复 9# apang

多谢!测试此方法可行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 03:28 , Processed in 0.028784 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表