bat批量重命名文件(文件名及后缀均可)

今天有个需求,是要把jsp文件全部换成html。因文件也不少,而且有树状文件夹结构。

看了网上的方法,都是用excel加ren命令去做的,这样的做法只能是一次性的处理,下次想要改别的目录的文件时,就得再重复操作一次。

这种excel加ren方法复杂、没有通用性,对于程序员来说实在是不可取的。

所以查了下资料,做了一个通用的bat命令来处理,

jsp转html代码如下(树状文件夹结构):

cd /d %~dp0
@Echo Off&SetLocal ENABLEDELAYEDEXPANSION

set oldStr=jsp
set newStr=html

FOR %%a in (*.jsp) do (
	set "name=%%a"
	set "var=%%a"
	if not "x!name:%oldStr%=!"=="x%name%" (
		set "var=!var:%oldStr%=%newStr%!"
		echo !var!
		ren "%%a" "!var!"
	) else (
		echo N
	)
)
pause

在需要处理的文件夹里面创建bat文件,把此处代码拷贝进去,修改oldStr的值和newStr的值,实现文件名的替换。

 

想起来之前从网上下载的视频里面有很长文件名,看着挺烦的,这次就一起处理了。

原目录如下:

 处理完之后效果如下图:

bat代码:

cd /d %~dp0
@Echo Off&SetLocal ENABLEDELAYEDEXPANSION

set oldStr=更多视频关注微信公众号【八戒程序猿】
set newStr=

for /f "delims=" %%a in ('"dir /a/s/b/on *.*"') do (
:: %%~nxa只显示文件名,%%a显示带路径的文件信息
	set "name=%%a"
	set "var=%%~nxa"
	if not "x!name:%oldStr%=!"=="x%name%" (
		set "var=!var:%oldStr%=%newStr%!"
		echo !var!
		ren "!name!" "!var!"
	) else (
		echo N
	)
)
pause

这个处理命令也会修改文件夹名称,双击bat命令再运行一次即可!

有此命令在手,哪里不爽改哪里!!!

 

20190813记录:

以上命令拷贝到本地执行bat时,始终执行不成功。

检查后发现是bat文件格式编码不对导致,改成ANSI编码就行了,notepad++修改文件编码如下图:

 

  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值