问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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"
)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
金丝熊,一般吃什么啊?水果还是蔬菜? 怎样管理wp7上安装的软件?我手机是三星i917 》有文件管理软件吗?、我的... 二片式球阀(关于二片式球阀的基本详情介绍) 二片式球阀工作原理 二片式球阀优点 不锈钢二片式球阀安装与维护及注意事项 二片式球阀两片式球阀的结构特点 不锈钢二片式球阀结构特点 不锈钢二片式球阀简介 吃刚出炉的蛋糕致癌? bat批量重命名文件 bat所有文件夹下的文件从001开始重新命名? 离婚协议起法律作用吗 如何签订离婚协议书才具有法律效力?离婚协议书的内容都包括什么? 离婚协议书中的内容是否有法律效应? 离婚协议书是否具有法律效益? 离婚协议的法律作用 离婚协议书的法律效力有多大 签订了离婚协议书,但没有办离婚证,有法律效力吗? 协议离婚法律有效吗 离婚协议双方签字后具备法律效果吗 夫妻双方私下写的离婚协议书在法律上有效吗? 离婚协议书在法律上能起到什么作用 离婚协议没有公证还有法律效益吗 夫妻双方签订了自己拟定的离婚协议有法律效应吗 离婚协议都包括哪些内容?具有法律效应吗? 写离婚协议自己写的有法律效益吗? 离婚协议书,签字之后就具有法律效力了吗? 支付宝余额支付功能被限制了,怎么办? 支付宝余额支付已关闭是怎么回事,要怎么解决? 用.bat命令批量增量重命名文件为三位数 bat批量重命名 Windows系统下批量重命名文件(bat命令版本) 如何用bat文件批量重命名后缀名? bat 批处理批量改名 批量重命名bat bat批处理:根据文本文件批量重命名文件 Bat批处理:批量重命名包含指定名称文件夹里的指定文件 批量重命名 BAT 怎样使用bat命令进行重命名 批处理:批量重命名父文件夹下所有子文件夹里的文件 求bat对多个文件夹中的文件按照文件的顺序以文件夹名对文件进行编号的方式批量重命名 詟蜁葋鎴戞槸09骞村幓镶ヤ笢鎶曡祫镄勶紝鎴戝拰褰揿湴鏀垮簻璇存坠缁�姙浜嗘垜鍐嶆姇锛屼粬浠��闾h... 什么是本票,汇票,支票,银行承兑 支票,汇票,发票的区别 本票,汇票和支票的相同点和不同点40 汇票,支票,本票三者的区别 葛优真名叫什么? 葛优的影视代表作是什么? 葛优的个人简介如何?