remoteexecute.bat

本文介绍了一个批处理脚本,该脚本用于自动化部署软件包到多个服务器,并执行远程命令。通过读取配置文件,脚本可以按需部署不同服务器上的软件包并执行相应的批处理文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@echo off

set LocalPath=%~dp0
cd /d "%LocalPath%"

:: 1. Packages distribution
:: 2. Remote execute batch

:: %%a - tokens[1]
:: %%b - tokens[2]
:: %%c - tokens[3]
for /f "tokens=1,2,3 delims=, " %%a in (config.txt) do (
	echo PRESS ANY KEY TO DEPLOY NEXT SERVER... & pause > nul
	echo deploy %%a...
	
	call:DistributePackage %%a %%b
	call:remoteexecute_single %%a %%b %%c
)

echo.&goto:eof


:DistributePackage 				-- Distribute package to specific path
::                 -- %~1: ServerName
::				   -- %~2: BatPath
:: Starting logs
if not exist Log (
	mkdir Log
)

set LOGFILE=Log\%~1.log
echo Start at %DATE%%TIME% 																						>>%LOGFILE% 2>&1
echo Log is ready 																								>>%LOGFILE% 2>&1
echo ********************************************************************										>>%LOGFILE% 2>&1  
echo ****           		Start Scripts           	 ****************   									>>%LOGFILE% 2>&1
echo ******************************************************************** 										>>%LOGFILE% 2>&1

if "%~1" equ "localhost" (
	goto:eof
)

set "RPath=%~2"
set "RPath=%RPath::=$%"
xcopy Package \\%~1\%RPath% /i /e /y /r																			>>%LOGFILE% 2>&1

goto:eof

:remoteexecute_single    	-- Remote execute batch command
::                 -- %~1: ServerName
::				   -- %~2: BatPath
::				   -- %~2: BatName
SETLOCAL
set "ServerName=%1"
set "BatPath=%2"
set "BatName=%3"
:: Use current login user to execute below command
if "%~1" equ "localhost" (
	CMD /C "CD /D %BatPath% & %BatName%"																		>>%LOGFILE% 2>&1
)

if "%~1" neq "localhost" (
	PsExec.exe \\%ServerName% -accepteula CMD /C "CD /D %BatPath% & %BatName%"									>>%LOGFILE% 2>&1
)

:: Ending logs
echo ********************************************************************  										>>%LOGFILE% 2>&1
echo ****               			End           	 	 ****************   									>>%LOGFILE% 2>&1
echo ********************************************************************  										>>%LOGFILE% 2>&1
echo End at %DATE%%TIME% 																						>>%LOGFILE% 2>&1
echo ------------------------------------------------------------												>>%LOGFILE% 2>&1		
ENDLOCAL
goto:eof

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值