批处理命令带参数调用启动、停止IIS,删除目录,解压

之前是用WinRAR来做的解压,现在用7zip来做解压

7zip的下载地址:https://www.7-zip.org/download.html,直接将下载后的exe文件安装在bat根目录下就可以调用


@echo off
REM 变量延迟,在if中输入的时候不能输入
setlocal EnableDelayedExpansion

@REM 1、停止/启动网站名称,2、网站目录路径,3、是否需要备份(0/1)(1=yes),4、压缩文件路径

set webname=%1%
set websrc=%2%
set isbackup=%3%
set rarsrc=%4%
@REM 日志存储路径
set logname=./log/log-%date:~0,4%%date:~5,2%%date:~8,2%.txt
set appcmd=%windir%\System32\inetsrv\appcmd.exe

if not exist %websrc% (
  echo 网站目录路径不存在
  goto :finish
)

if exist %rarsrc%\ (
  echo 压缩文件不应该是一个文件夹
  goto :finish
) else if not exist %rarsrc% (
  echo 没有此压缩文件
  goto :finish
)

if not exist log md log
if not exist _linshi md _linshi

echo ---------------------start %date% %time%--------------------- >>%logname%

echo 正在停止网站...
%appcmd% stop site !webname! >>%logname% || goto :finish
echo 已成功停止网站

set target=_linshi\%date:~0,4%%date:~5,2%%date:~8,2%
if %time:~0,2% LEQ 9 (
  set target=!target!%time:~1,1%%time:~3,2%%time:~6,2%%time:~9,2%
)^
else (
  set target=!target!%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
)

set 7ZipDir=64\7-Zip
if "%PROCESSOR_ARCHITECTURE%"=="x86" set 7ZipDir=32\7-Zip

if /i !isbackup! == 1 (
  dir /b !websrc!|findstr .* >nul || (echo 网站目录文件夹为空 >>%logname% & echo 网站目录文件夹为空  & goto :websrcnull)
  if not exist !target! md !target!
  (
    echo 正在备份...
    "!7ZipDir!\7z.exe" a -ttar !target!\website.tar !websrc!\* >>%logname% && ( echo 已备份成功 & echo 已成功备份在 !target! >>%logname% || echo 备份失败 >>%logname% goto :finish)
  ) && (
    echo 正在删除网站目录...
    (
      del /s /f /a /q !websrc!\*.* && (
        for /f "delims=" %%a in ('dir /ad/b !websrc!') do (rd /q /s !websrc!\"%%a" && echo 成功删除!websrc!\"%%a" || echo !websrc!\"%%a"删除失败)
      )
    ) >>%logname% && echo 网站目录删除成功 || echo 网站目录删除失败
  )
)^
else (
    echo 正在删除网站目录...
    (
      del /s /f /a /q !websrc!\*.* && (
        for /f "delims=" %%a in ('dir /ad/b !websrc!') do (rd /q /s !websrc!\"%%a" && echo 成功删除!websrc!\"%%a" || echo !websrc!\"%%a"删除失败)
      )
    ) >>%logname% && echo 网站目录删除成功 || echo 网站目录删除失败
)

:websrcnull

echo 正在解压文件...
( start /wait "" "!7ZipDir!\7z.exe" x !rarsrc! -o!websrc! -aoa && echo 已成功解压文件 || echo 解压文件失败 ) >>%logname% && echo 解压成功 || 解压失败

echo 正在启动网站...
%appcmd% start site !webname! >>%logname% || goto :finish
echo 已成功启动网站

:finish
echo ---------------------end %date% %time%--------------------- >>%logname%
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值