bat批量重命名(指定替换字符)
发布网友
发布时间:2022-04-22 22:05
我来回答
共3个回答
热心网友
时间:2022-05-05 03:41
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,就可以把文件名都改好了。
热心网友
时间:2022-05-05 04:59
@ECHO OFF
set 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' 不是内部或外部命令,也不是可运行的程序”,报错。
追答
只能说百度回答的这个代码格式太垃圾。。。
复制出来的结果都是错的。你打开我发你的那个链接从里面复制代码保存吧。。
给你上传我保存的结果好了。
热心网友
时间:2022-05-05 06:34
神人啊,不用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,具体的怎么写也不清楚,错在哪也不知道。
追答for %%i in (*) do (
set file=%%i
ren %%i %file:a=b%
)
在复合语句中变量file要进行扩展,正确应该为
@echo off&setlocal enabledelayedexpansion
for %%i in (*_a.txt) do (
set "file=%%i"
ren "%%i" "!file:_a=_b!"
)
但是这种写法有个致命伤,会把所有_a变为_b。涉及到文件重命名,建议用for /f +dir 来操作。
只是要修改后面一个字符,参考:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b *_a.txt') do (
set "file=%%~na"
ren "%%a" "!file:~,-1!b%%~xa"
)
bat批量重命名(指定替换字符)
首先,你需要找到你想重命名的文件,然后在同一个文件夹下创建一个新的文本文件(TXT格式)。在新建的TXT文档中,你需要输入一些基础代码。例如:设置变量a的初始值为1000,这可以替换为你需要的任意数字,表示文件编号的起点:bash set a=1000 接下来,启用延迟环境变量扩展,这有助于动态更新变量:bas...
bat批量重命名(指定替换字符)
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,然后点击是。...
使用bat文件实现批量重命名功能
新建一个Excel文件,将原文件名、修改后文件名按照图片中格式,输入到表中。(行数不限)新建一个txt文件,将表格内容复制到txt文件中。将新建的txt文件另存为“重命名.bat”将bat文件与需要重命名的文件放在 同一文件夹下面,然后双击“重命名.bat”结果如图。是不是很轻松方便,快来试一下吧~
bat批量处理重命名的方法,请教?批量重命名,pdf格式
color 0e&MODE con: COLS=79 LINES=25 setlocal enabledelayedexpansion :loop1 echo.echo A。保留原文件名并在前加编号 echo B。去除原文件名并直接加编号 echo C。重新指定文件名并加编号 echo D。在原文件名基础上加字符 echo E。批量替换原文件名字符 echo.&set cho= set/p...
BAT批量重命名的问题 急!
color 0a&cls&echo 重命名成功!)ping /n 3 127.1>nul 最近做的批处理,自定义改名,你自己用吧,想改成什么都可以。像你的,问题一:只需输入“-001”(不含引号)回车即可。问题2:输入“1/2”(不含引号)回车即可。参考资料:hi.baidu.com/xiaozhi10/blog/item/...
[批处理求助 急求!]: 关于BAT批量重命名与恢复。
名称:批量重命名 rem 作者:忆林子 rem 概要:批量替换文件或者文件夹的字符串 rem 用法:rem 1、将需要批量重命名的文件所在的那个文件夹拖到该处理上 rem 2、按提示输入要替换的字符串,然后按回车。rem 3、按提示输入想要替换为的字符串,然后按回车。rem rem 考虑到多次操作,该批处理加了循环...
怎么用bat批量重命名文件夹名
使用BAT批处理脚本批量重命名文件夹名,可以通过以下步骤实现:1. **打开记事本或任何文本编辑器**:首先,你需要打开记事本(Notepad)或你选择的任何文本编辑器来编写BAT脚本。2. **编写BAT脚本**:在记事本中输入以下示例脚本,用于将指定目录下所有文件夹的名称前添加"Prefix_"前缀。请将`C:\path...
如何用bat批量重命名
怎么批量替换文件名?
bat批量替换部分文件名的方法如下:操作环境:联想ThinkpadT14、Widows10、batv3.1.4。1、打开cmd命令,进入想要修改文件名的文件夹中。具体是:E:\>cd测试文件夹。2、继续通过cmd命令,新建一个excel文件,文件中包括所有待修改的文件名。具体是:E:\测试文件夹>dir/b>test.xls。3、打开刚新建...
bat批处理修改文本文档指定行的内容?
代码使用了两个循环:第一个for循环用于遍历目标目录下所有的.tog文件;第二个for循环用于遍历每个文件的所有行,并在需要修改的行进行相应的操作。通过变量count计数,如果当前行是需要修改的行,则输出新的内容到一个临时文件temp.txt中;否则直接将当前行原样输出。最后将临时文件重命名为原文件名,完成...