今天有个需求,是要把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++修改文件编码如下图: