bat批量重命名(指定替换字符)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat批量重命名(指定替换字符)相关的知识,希望对你有一定的参考价值。
123_a.txt 234_a.txt 345_a.txt
如上面,有一系列的文件,要把a全部替换成b
bat文件该怎么写!!!!!!
求助
我要for循环的,不要rename的
1、电脑打开要重命名的文件,然后新建TXT文档。
2、打开新建的TXT文档后,输入字符
set a=1000
setlocal EnableDelayedExpansion
FOR /f "tokens=*" %%i IN ('dir /a:d /b') DO (
set /A a+=1
ren "%%i" "电影!a!"
)
1000和电影是可以更改的。
3、保存TXT后,把后缀改为bat,然后点击是。
4、点击运行bat,就可以把文件名都改好了。
参考技术A @ECHO OFFset batchName=批量重命名-替换文件或者文件夹的字符串
TITLE
忆林子--%batchName%
rem
[HEAD========================================================HEAD]
rem
名称:批量重命名
rem 作者:忆林子
rem 概要:批量替换文件或者文件夹的字符串
rem 用法:
rem
1、将需要批量重命名的文件所在的那个文件夹拖到该处理上
rem 2、按提示输入要替换的字符串,然后按回车。
rem
3、按提示输入想要替换为的字符串,然后按回车。
rem
rem 考虑到多次操作,该批处理加了循环操作处理,可进行多次替换,而不
rem
需要多次拖文件夹。
rem
rem 修正履历
rem 修改者 修正方式 版本号 备考
rem
[MID==========================================================MID]
rem 忆林子 新建
Ver.2010.03.06-001
rem
[FOOT========================================================FOOT]
COLOR
0a
:main
set /a count=%count%+1
set /p oldStr=[请输入想要替换的字符串]
set /p
newStr=[请输替换后的字符串]
for /f "tokens=*" %%a in (
'dir "%~1" /a /b'
) do
(
SETLOCAL ENABLEDELAYEDEXPANSION
set "newFileName=%%~nxa"
set
"newFileName=!newFileName:%oldStr%=%newStr%!"
ren "%~1\\%%~nxa"
"!newFileName!"
ENDLOCAL
)
ECHO.
echo 第 %count%
次替换已完成
ECHO.
goto :main
EXIT
用法参照以下说明
http://hi.baidu.com/kaixiawei/item/655fcd3cc3600ebf124b146f追问看着说明,怎么都用不了,newStr=[请输替换后的字符串],输入要替换的字回车后,显示“'newStr' 不是内部或外部命令,也不是可运行的程序”,报错。
追答只能说百度回答的这个代码格式太垃圾。。。
复制出来的结果都是错的。你打开我发你的那个链接从里面复制代码保存吧。。
给你上传我保存的结果好了。
神人啊,不用ren你想如何改文件名
ren很简单,为啥不用
ren *_a.txt *_b.txt追问抱歉,说的不明白,因为到时候可能还有别的要求
所以bat中只有ren *_a.txt *_b.txt不能解决问题
需要for %%i in(*) do (
set file=%%i
ren %%i %file:a=b%
)
类似于上面的样子,可是才刚开始学习,上面的写法就是无法把a改变成b,具体的怎么写也不清楚,错在哪也不知道。
set file=%%i
ren %%i %file:a=b%
)
在复合语句中变量file要进行扩展,正确应该为
for %%i in (*_a.txt) do (
set "file=%%i"
ren "%%i" "!file:_a=_b!"
)
但是这种写法有个致命伤,会把所有_a变为_b。涉及到文件重命名,建议用for /f +dir 来操作。
只是要修改后面一个字符,参考:
for /f "delims=" %%a in ('dir /b *_a.txt') do (
set "file=%%~na"
ren "%%a" "!file:~,-1!b%%~xa"
)
Windows系统下批量重命名文件(bat命令版本)
参考技术A Windows系统下批量重命名文件(bat命令版本)我们有时候会遇到大量文件需要重命名,可以用 bat 解决大量文件的重命名
方法/步骤
将需要重命名的文件放到一个文件夹,
然后在文件中空白处 shift + 右键,打开命名窗口
接着再命令窗口输入命令:dir/b>rename.xls ,回车 →
然后会看到生成一个Excel文件。
(dir/b 中的/b是一个参数,就是现实该文件夹下的所有文件名,包括文件名和文件名,生成“rename.xls”文件。)
打开“rename.xls”文件,如果有提示框,选择“是”,在Excel里删除“rename.xls”这行
然后在excel用mid函数截取需要的文件名,和 & 字符拼接 添加自己想要的文字(mid & 用法自行百度)
我用的函数:
再添加bat命令公式,字符串相连( "ren "&旧的名字&" "&新名字 ):
然后把上一步 C列 生成的值 复制。
在文件夹里新建一个txt,命名为“rename.bat”→右键 →编辑→把值复制到里面→保存
双击运行 rename.bat 文件即可,
稍等一会,刷新一下,文件夹里的文件名字就重命名好了
END
以上是关于bat批量重命名(指定替换字符)的主要内容,如果未能解决你的问题,请参考以下文章