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

[文件操作] [已解决]批处理给不同名字的文件重命名

[复制链接]
发表于 2012-2-27 23:42:13 | 显示全部楼层 |阅读模式
本帖最后由 WDMZ 于 2012-2-29 00:25 编辑

给不同名字的文件重命名。。
Part_14_1.vob
Part_15_1.vob
Part16.vob
Part17.vob
在文本引用给文件重命名
文本的内容;
周艳泓-当爱情经过的时候
辛晓琪-领悟
李晓杰-朋友的酒
郑源-包容
-----------------------------重命名后

Part_14_1.vob====周艳泓-当爱情经过的时候.vob

Part_15_1.vob==== 辛晓琪-领悟.vob

Part16.vob====== 李晓杰-朋友的酒.vob

Part17.vob=====郑源-包容.vob

谢谢了

http://www.bathome.net/viewthread.php?tid=10830
在这里找到解决方法
  1. @echo off&setlocal enableDelayedExpansion

  2. set "r=a.txt"

  3. for /f "usebackq delims=" %%a in ("%r%") do set/a a+=1&set "#!a!=%%a"

  4. for %%a in (*.vob) do if /i not "%%a"=="%r%" (

  5.         set/a b+=1

  6.         if !b! gtr %a% goto:end

  7.         for %%b in (!b!) do (

  8.                 ren "%%a" "!#%%b!.mpg"

  9.                 set #!b!=

  10. ))

  11. :end

  12. (for /f "tokens=1* delims==" %%a in ('set #') do echo/%%b)>"%r%"

复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2012-2-28 03:56:25 | 显示全部楼层
  1. @echo off
  2. for /f "delims=" %%a in (list.txt) do (
  3.    set /a n+=1
  4.    set name=%%a
  5.    setlocal enabledelayedexpansion
  6.    ren Part_!n!_*.vob *.vob=====!name!.vob || ren Part!n!.vob *.vob=====!name!.vob
  7.    endlocal
  8. )
复制代码
发表于 2012-2-28 09:08:09 | 显示全部楼层
回复 2# CrLf


又玩通宵了?
 楼主| 发表于 2012-2-28 16:06:51 | 显示全部楼层
好象处理不了
谢谢了。
 楼主| 发表于 2012-2-28 16:37:39 | 显示全部楼层
提示;
命令语法不正确
发表于 2012-2-28 18:35:17 | 显示全部楼层
回复 5# WDMZ


把完整的信息贴出来
发表于 2012-2-28 20:03:33 | 显示全部楼层
  1. @echo off&set n=0
  2. for %%a in (Part_14_1 Part_15_1 Part16  Part17) do call :11 "%%a"
  3. goto :eof

  4. :11
  5. for /f "delims=" %%b in ('more +%n% list.txt') do (  
  6.     ren "%~1.vob" "%~1.vob====%%b.vob"
  7.     call set/a n+=1&goto :eof
  8. )
复制代码
试试看

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2012-2-28 20:55:30 | 显示全部楼层

  1. @echo off
  2. for /f "tokens=1* delims=:" %%a in ('dir /b /a-d *.vob^|findstr /n .*') do (
  3.     for /f "tokens=1* delims=:" %%c in ('findstr /n .* list.txt') do (
  4.         IF %%a EQU %%c echo ren "%%b" "%%b==%%d%%~xb"
  5.     )
  6. )
  7. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2012-2-28 21:24:38 | 显示全部楼层
3:56  版主V5
 楼主| 发表于 2012-2-29 00:23:53 | 显示全部楼层
http://www.bathome.net/viewthread.php?tid=10830
在这里找到答案了。谢谢各位高手帮忙
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 01:00 , Processed in 0.022750 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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