为了账号安全,请及时绑定邮箱和手机立即绑定

【纯干货】小白都能看懂的windows常用bat批处理命令(附代码参考)

图片描述
没有镇楼的神兽我会不安的...
另外,我不会告诉你其实我是一个帅哥的...

前言:我们项目组现在发布项目都需要手动ant打包,然后在项目目录下复制要部署的程序包到项目发版工具目录下。因为我们有多个项目,要根据项目区分部部署,我比较懒,不想频繁切换目录,也不想频繁的ctrl c & ctrl v,因此今天上午自己写了一个批处理文件,基本能实现一键copy+部署。现总结一下我用到的和顺带了解的批处理命令...

图片描述
命令--------解释
命令/?:查看命令帮助
del 文件路径 : 删除文件
move 文件 路径:移动文件到指定的路径下(文件和路径中间有空格哈,下边俩一样)
copy文件 路径:复制文件到指定的路径下
rd 文件夹路径: 删除文件夹
图片描述
tree 文件夹路径: 查看文件夹结构图片描述
echo 确认的按钮|命令:一键执行确认操作命令图片描述
tasklist >list.txt :将所有进程保存到list文件中(默认保存到当前目录)
find /i "chrome.exe" list.txt :从list文件中查找chrome进程图片描述
@echo off :关闭回显
@echo on :开启回显
set 变量名=变量值:声明变量
%变量名% :调用变量
不同bat文件之间传值(最后面代码中会有实例):

//调用bat
xx.bat 参数:调用bat文件后面加空格然后跟上要传的参数,最后可传9个,每个参数之间用空格分隔
//另一个bat文件接收参数
%1--%9:%1到%9一共9个参数,分别依次对应

:: xxx:注释内容,不会显示到窗口
rem xx:注释内容,会显示到窗口
echo xx:注释内容,会显示到窗口

*winrar x iEnergy_ams.zip iEnergy_ams* :解压命令(需要把winrar安装路径下的winrar.exe放到c盘windows目录下)
图片描述
winrar a -r iEnergy_ams.zip
:压缩命令图片描述

至于压缩和解压缩,在winrar安装目录下的Rar.txt里有很详细的命令解释。另外,图中红色箭头指向的两个也是压缩和解压文件的工具,把他俩放到windows目录下同样可以通过rar、unrar执行压缩和解压操作,但是这两个和winrar的区别就在于:rar、unrar只能操作rar后缀的压缩文件,虽然通过rar也可以打成zip包,但事实上还是以rar格式为基础的,可以通过与zip包比较文件大小确定。

最后,贴一个我刚写的批处理文件:
主bat(负责定义公共变量和代码):

@echo off

:: 公共参数设置 start
cd %cd%
:: 跳转到上级目录
cd ../
:: 自动发版工具所在地址
set autoDeployPath=%cd%
::-------------------------该地址需要手动修改为本机项目打包后的地址-------------------------
::本机项目打包后的地址
set sourcePath=xxx\upload
::本机项目所在磁盘
set sourceDisk=D:
::-------------------------该地址需要手动修改为本机项目打包后的地址-------------------------
:: 公共参数设置 end

:: uat项目部署所在地址
set uatPath=%autoDeployPath%\resource\uat
set livePath=%autoDeployPath%\resource\live
set otePath=%autoDeployPath%\resource\ote
:: 公共参数设置 end
:: 先删除旧的项目包 live、uat、ote全部清空
echo ----清空uat文件夹----
echo y|del %uatPath%\*.*
echo ----清空live文件夹----
echo y|del %livePath%\*.*
echo ----清空ote文件夹----
echo y|del %otePath%\*.*

::清屏操作
cls
echo 文件部署工具根目录:%autoDeployPath%
cd %autoDeployPath%\bat-test
goto start
:start
    echo --------------------------------------------------
    echo --                  uat部署                     --
    echo --  1.www                                       --
    echo --  2.admin                                     --
    echo --  3.static                                    --
    echo --  4.all(该选项操作完成后会自动部署)             --
    echo --  5.deploy(需要先执行1或者2或者3)               --
    echo --  6.END                                       --
    echo --------------------------------------------------
    ECHO.
    echo (请输入数字选择操作命令)
    set /p ans=                   
    if %ans%==1 goto www
    if %ans%==2 goto admin
    if %ans%==3 goto static
    if %ans%==4 goto all
    if %ans%==5 goto deploy
    if %ans%==6 goto END
:www
    ECHO.
    echo ----执行www项目解压操作----
    :: 执行的逻辑命令--为bat文件传参
    start wwww.bat %uatPath% %sourcePath% %sourceDisk%
    echo ----www项目解压操作完成----
    goto start
:admin
    ECHO.
    echo ----执行admin项目解压操作----
    :: 执行的逻辑命令--为bat文件传参
    start admin.bat %uatPath% %sourcePath% %sourceDisk%
    echo ----admin项目解压操作完成----
    goto start
:static
    ECHO.
    echo ----执行static项目解压操作----
    :: 执行的逻辑命令--为bat文件传参
    start static.bat %uatPath% %sourcePath% %sourceDisk%
    echo ----static项目解压操作完成----
    goto start
:all
    ECHO.
    echo ----www、admin、static项目解压操作----
    :: 执行的逻辑命令--为bat文件传参
    start all.bat %uatPath% %sourcePath% %sourceDisk% %autoDeployPath%
    echo ----项目解压操作完成----
    exit
:deploy
    ECHO.
    echo ----执行部署任务----
    :: 执行的逻辑命令--为bat文件传参
    start deploy.bat %autoDeployPath%
    echo ----部署完成----
    goto END
:END
    ECHO.
    echo 退出批处理操作
pause

子文件(负责处理单个项目):

@echo off
:: 项目部署所在地址
set sysPath=%1
:: 项目打包后的地址
set sourcePath=%2
::本机项目所在磁盘
set sourceDisk=%3
:: 解压的路径
set unRarSourcePath=%sourcePath%\xxx

:: 进入项目zip所在的盘符根路径D盘
%sourceDisk%
:: 进入项目zip所在的文件夹
cd %sourcePath%

:: 复制文件到部署项目文件夹中
::copy xxx.zip %sysPath%

:: 解压文件 winrar命令要比单纯的rar或者unrar命令高级的多
winrar x xxx.zip * xxx\
:: 进入解压后字体所在文件夹
cd %unRarSourcePath%\WEB-INF\classes\resource\fonts
:: 删除文件夹下的所有文件
echo y|del *.*
:: 返回classes目录
cd %unRarSourcePath%\WEB-INF\classes
:: 删除resource文件夹
rd/s/q resource
:: 进入解压后的项目文件夹
cd %unRarSourcePath%
:: 将该文件夹下的所有内容从新打包 rar的压缩命令即使压缩为.zip但事实上还是以rar格式为基础的,可以通过比较文件大小确定
:: rar a -r xxx.zip *
winrar a -r xxx.zip *
:: 移动文件到部署项目文件夹中
move xxx.zip %sysPath%
cd %sourcePath%
:: 删除原解压的文件夹
rd/s/q xxx

exit

自认为代码写的还算干净...
图片描述

我可以对一个人无限的好,前提是值得。 ——慕冬雪

点击查看更多内容
37人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
9132
获赞与收藏
5502

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消