标题: [文件操作] [已解决]批处理如何提取原文件名中的特定字符串重命名该文件 [打印本页]
作者: comicguests 时间: 2012-12-12 19:55 标题: [已解决]批处理如何提取原文件名中的特定字符串重命名该文件
本帖最后由 pcl_test 于 2016-7-22 16:12 编辑
比如,comic-[01] afd[abc1233]cf.mkv这个文件
重命名为01.mkv
只保留集数该怎么写呢?集数处于00--99中
感谢关注!
作者: apang 时间: 2012-12-12 20:27
本帖最后由 apang 于 2012-12-12 21:30 编辑
保存为test.vbs,与mkv文件放在一起,试试- Set FSO = CreateObject("Scripting.FileSystemObject")
- For Each File in FSO.GetFolder(".").Files
- Ext = FSO.GetExtensionName(File)
- If LCase(Ext) = "mkv" Then RenFiles
- Next
- MsgBox "OK"
-
- Sub RenFiles()
- Set Re = New RegExp
- Re.Pattern = "(^.*\[)(\d{2})(\].*$)"
- Re.Global = True
- File.Name = Re.Replace(File.Name,"$2") & ".mkv"
- End Sub
复制代码
作者: 悬崖之树 时间: 2012-12-12 22:23
@echo off & setlocal enabledelayedexpansion
for %%i in (*.mkv) do (
set a=%%i&set a=!a:~7,2!
ren "%%i" "!a!.mkv"
)
pause
作者: hlzj88 时间: 2012-12-13 13:12
- @echo off
- title 音视频文件批量改名工具-by仰天长啸
- color 2e
- :begin
- echo.
- echo.
- echo.
- echo ╭────────────────────────────────╮
- ECHO │ 说 明 本批处理需要放在歌曲文件夹里执行 │
- ECHO │ │
- ECHO │ A. 消除文件名前的数字和其他 (文件范围是 mp3 wma wmv rm rmvb) │
- ECHO │ │
- ECHO │ b. 消除文件名前的其他 (文件范围是 mp3 wma wmv rm rmvb) │
- ECHO │ │
- ECHO │ c. 把文件夹名(歌手 连续剧)加到文件前,如果重复可用 A b来消除 │
- ECHO │ │
- ECHO │ Q. 退出 说明:可以根据你的要求来修改不同文件类型 │
- ECHO ╰────────────────────────────────╯
- echo.
- SET Choice=
- SET /P Choice= 请选择要进行的操作(A B Q)回车确定!
- ECHO.
-
- IF NOT '%Choice%'=='' SET Choice=%Choice:~0,1%
- IF /I '%Choice%'=='A' GOTO qu1
- IF /I '%Choice%'=='B' GOTO qu2
- IF /I '%Choice%'=='c' GOTO wen
- IF /I '%Choice%'=='Q' exit
- GOTO begin
-
- :qu1
- cls&setlocal ENABLEDELAYEDEXPANSION
- @echo 你的选择包含去掉文件名中的 12345 67890 .
- @echo 请输入你额外需要去掉的文件名中的关键词并回车
- @echo 无也请回车,在这个界面里同样可以使用输入法:
- set /p var=
- for %%a in (*.mp3 *.wmv *.wma *.rm*) do (
- set name=%%~na
- set name2=%%~xa
- for %%j in (0 1 2 3 4 5 6 7 8 9 . !var!) do set name=!name:%%j=!
- call ren "%%a" "!name!!name2!"
- )
- cls
- echo.
- echo.
- echo.
- echo.
- @echo 已经完成 请核对有什么还需要去掉 可以输入再来一次
- echo.
- echo.
- echo.
- echo.
- goto begin
-
- :qu2
- cls&setlocal ENABLEDELAYEDEXPANSION
- @echo 请输入你需要去掉的文件名中的关键词并回车
- set /p var=
- for %%a in (*.mp3 *.wmv *.wma *.rm* *.flv) do (
- set name=%%~na
- set name2=%%~xa
- for %%j in (!var!) do set name=!name:%%j=!
- call ren "%%a" "!name!!name2!"
- )
- cls
- echo.
- echo.
- echo.
- echo.
- @echo 已经完成 请核对有什么还需要去掉 可以输入再来一次
- echo.
- echo.
- echo.
- echo.
- goto begin
-
- :wen
- cls
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir/b/s/a-d *.mp3 *.wma *.wmv *.rm* *.flv') do (
- set "str=%%~nxi"
- for /f "delims=" %%j in ("%%~dpi.") do (
- set "str=!str:%%~nj-=!"
- ren "%%i" "%%~nj-!str!"
- )
- )
- echo.
- echo.
- echo.
- echo.
- @echo 已 经 改 名 了,请 核 对 退 出
- echo.
- echo.
- echo.
- echo.
- goto begin
复制代码
这个是平时都在用的,几个功能结合在一起,现在代码里没有你要的MKV,自己添加进去就好了
作者: comicguests 时间: 2012-12-14 18:54
回复 2# apang
成功了,非常感谢
作者: comicguests 时间: 2012-12-14 18:56
回复 3# 悬崖之树
有点失败了,但还是感谢了!
作者: comicguests 时间: 2012-12-14 19:01
回复 4# hlzj88
很有用,感谢了
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |