用bat批处理切换配置文件

        我们通常用的工业软件,其配置文件通常是通过非加密方式存放的,我们可以通过直接修改配置文件,去连接不同的测试/生产环境,但是每次切换都要重复改来改去,还是挺麻烦的,这个时候我们可以用bat批处理来实现一键切换!

        比如我们单位某个ERP软件,通过读取tnsname.ora来连接不同的局点数据库,那么我们就想是不是可以这样,当我们切换到一个局点时,tnsname.ora指向该局点,而另外一个局点的tnsname.ora重命令为old文件,当我们需要切换另外一个局点的时候,我们把当前的tnsname.ora重命名为old文件,并把原来的old文件重命名为tnsname.ora,说干就干!

        我们的admin下有两个tnsname.ora文件,分别为洛阳和孟津,用tnsname-ly.ora和tnsname-mj.ora来区分。

        当我们要切换洛阳时候:

        将以下内容保存为 洛阳.bat

@echo off
rem 关闭回显示,就是不显示命令本身,只显示命令执行的结果
rem ren即rename 重命名(注意 rem 和 ren是两个命令哈)
	ren tnsnames.ora tnsnames-mj.ora 2
	ren tnsnames-ly.ora tnsnames.ora 2
rem timeout 5 exit即等待5s退出,echo后边的空格是为了保证右对齐
	echo.  &&echo  已切换为洛阳 &&echo. &&echo          powered by 东哥 &&timeout /t 5 /nobreak &&exit  

        保存后,双击执行,则切换到洛阳局点

37c58ab166a541548263d80eddbf0683.png

        其中,ren = rename 重命名,rem = remark 注释,如果要切换为孟津,我们只需要将tnsnames-ly,改成tnsnames-mj就可以了。

        这里只考虑两个局点的情况,如果局点比较多,我们还是要用 开关 选择 比较好

保存如下脚本为 choice.bat

@echo off
rem @echo off 关闭回显示,就是不显示命令本身,只显示命令执行的结果
:rechoice
::接收键盘输入并存储在变量choice中,::和rem都可以行注释
set /p choice=请选择 :    1 洛阳 2 孟津  

if "%choice%"=="1" (
	rem ren即rename 重命名(注意 rem 和 ren是两个命令哈)
	ren tnsnames.ora tnsnames-mj.ora
	ren tnsnames-ly.ora tnsnames.ora
rem timeout 5 exit即等待5s退出,echo后边的空格是为了保证右对齐
	echo. &&echo  已切换为洛阳 &&echo. &&echo          powered by 东哥 &&timeout /t 5 /nobreak &&exit
) else if "%choice%"=="2" (
	ren tnsnames.ora tnsnames-ly.ora
	ren tnsnames-mj.ora tnsnames.ora
	echo. &&echo  已切换为孟津 &&echo. &&echo          powered by 东哥 &&timeout /t 5 /nobreak &&exit
) else (
	echo "输入错误,请重新选择!" && goto rechoice 
)

        我们双击执行,则进入选择界面,选择2,切换为孟津,并在5s后退出cmd窗口,admin文件夹里边也没有了mj局点的配置文件了

1a5f5dadac4b4735b126a69f7968c421.png

如果选择3(非1或2),则会提示选择错误,请重新选择!

5cda230dcefe49cb9f6d6cb049924db2.png

        如果我们已经是洛阳局点,仍然选择洛阳,则会提示错误“存在一个重名文件或找不到文件”,这个是因为我们有-ly后缀的文件已经不存在了,ren命令找不到源文件,这个时候我们可用用2> nul ,将标准错误舍弃(0标准输入,1标准输出,2标准错误)即

ren tnsnames.ora tnsnames-mj.ora 2> nul

ren tnsnames-ly.ora tnsnames.ora 2> nul

        当然我们也可以用cp  -f ,把文件强制更新为新名称,或者先判断当前局点是哪个局点,如果正好是要切换的局点,则提示并退出。

        如果我们每个局点的环境比较独特且复杂,我们尽量是每个局点保存一个bat文件,然后在choice.bat中启动被选择的bat文件,唤起方法为

call xxx.bat

 

 

 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值