项目场景:
xshell7和xftp7时间到期需要更新导致无法使用。
问题描述
主要是xshell7和xftp7在离线环境使用,一定时间后打开需要强制更新,否则无法使用。
解决方案:
使用.bat脚本,打开工具前后修改系统时间。
1.新建一个xftpStart.bat。
bash
@echo off
::解决win10乱码
chcp 65001
color 3e
title xftp启动器
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit
:: 获取当前系统日期和时间,存储为完整格式
for /f "tokens=2 delims= " %%a in ('date /t') do set original_date=%%a
:: 显示当前系统时间和日期
echo 当前系统日期: %original_date%
:: 临时设置系统日期和时间
echo 正在将系统日期设置:2022-12-01
date 2022-12-01
::启动xftp程序
start "" "C:\Program Files (x86)\NetSarang\Xftp 7\Xftp.exe"
echo 等待xftp启动中
:: 等待 10 秒
timeout /t 30 >nul
:: 恢复原始系统日期和时间
echo 正在恢复原始系统日期和时间...
date %original_date%
echo 系统时间已恢复为: %original_date%
pause
2.新建xshellStart.bat,运行xshell前后修改时间
bash
@echo off
:: 设置编码
chcp 65001 >nul
color 3e
title Xshell启动器
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit
:: 获取当前系统日期和时间,存储为完整格式
for /f "tokens=2 delims= " %%a in ('date /t') do set original_date=%%a
:: 显示当前系统时间和日期
echo 当前系统日期: %original_date%
:: 临时设置系统日期和时间
echo 正在将系统日期设置:2022-12-01
date 2022-12-01
::启动Xshell程序
start "" "C:\Program Files (x86)\NetSarang\Xshell 7\Xshell.exe"
echo 等待Xshell启动中
::等待xshell启动完成
timeout /T 30 /NOBREAK
::ping 0.0.0.0 -n 5> nul
echo Xshell启动完成
:: 恢复原始系统日期和时间
echo 正在恢复原始系统日期和时间...
date %original_date%
echo 系统时间已恢复为: %original_date%
pause