shitou6237 发表于 2024-8-18 22:50

利用cmd实现自动部署Ansys 2024R2软件

本次为大家带来2024R2版本的自动化部署代码,代码具有以下功能:
1.可以设置安装路径
2.输出日志到桌面
3.自动安装license Management Center
4.实现Ansys License Client Settings 2024 R2端口自动配置
代码如下,请各位指正:



```
@echo on
setlocal enabledelayedexpansion

:: 设置总安装目录:x:\xx\
set install_path=D:\soft\

:: 获取桌面地址
set desk = ""
for /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Desktop"') do (
set desk=%%j
)

:: 设置安装日志
set log="%desk%\安装日志.log"

:: 安装总目录:%install_path%,x:\xx\
:: 解压工具:%unpack%
:: 解压路径:%unpack_path%,x:\xx\
:: 解压命令 %unpack% x <解压资源路径> -o"<解压路径>"

:: 获取当前bat文件所在目录,输出为"x:\xx\",带“\”
set OriPath=%~dp0
set SoftName=Ansys
set SoftVersion=2024R2
set SetupName=setup.exe

title %SoftName%_%SoftVersion%_安装程序

echo %time% 初始化完成,开始安装 %SoftName%_%SoftVersion% >> %log%

:: 设置安装子目录
set InsPath=%install_path%%SoftName%

:: 获取以太网mac:%mac%
for /f "tokens=3 delims=," %%t in ('GETMAC /FO csv /v ^| find /i "WLAN"') do set str=%%t
set str=%str:-=%
set mac=%str:"=%

:: 生成license
:: 设置输出路径

:: 设置输出文件名
set out_name=temp.txt
:: 开始生成
for /f "tokens=* delims=" %%a in (%OriPath%Cracked\license.txt) do (
setlocal EnableDelayedExpansion
set "LINE=%%a"
set LINE=!LINE:XXXXXXXXXXXX=%mac%!
set LINE=!LINE!
echo !LINE!>> "%InsPath%\%out_name%"
endlocal
)

:: 安装license manager
START /WAIT %OriPath%setup\%SetupName% -silent -LM -install_dir "%InsPath%" -licfilepath "%InsPath%\%out_name%"

:: 执行和谐
Xcopy %OriPath%Cracked %InsPath%\ /E /Y

:: 执行安装Ansys Product
START /WAIT %OriPath%setup\%SetupName% -silent -install_dir "%InsPath%" -licserverinfo "::localhost"


:: 挟持dll代替SolidSQUADLoaderEnabler.reg
:: 挟持多个dll需要使用\0连接
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager" /v ExcludeFromKnownDlls /t REG_MULTI_SZ /d "netapi32.dll\0iphlpapi.dll\0version.dll" /f


:: 添加环境变量
:: 设置环境变量所在注册表位置
set S_regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

:: Create environment variable ANSYSLMD_LICENSE_FILE=1055@localhost
:: 设置需要添加的项名
set S_evname="ANSYSLMD_LICENSE_FILE"
:: 设置需要添加给项的值
set S_path="1055@localhost"
:: 执行注册表添加
reg add "%S_regpath%" /v %S_evname% /d %S_path% /f

::生成licensing 端口配置文件
echo SERVER=1055@localhost >> "%InsPath%\Shared Files\Licensing\ansyslmd.ini"

:: 清理文件
del %InsPath%\%out_name% %InsPath%\license.txt %InsPath%\readme_SSQ.txt %InsPath%\SolidSQUADLoaderEnabler.reg

echo %time% %SoftName%_%SoftVersion%安装完成 >> %log%



```


文件相对位置如图所示:







需要注意:
1.我使用的是网络上ssq提供的版本软件,其中license.txt内需要用mac地址替代的地方显示为XXXXXXXXXXXX(12个X),上面用到了替换语句,需确认下是否一致。此外替换功能需要逐行扫描,大约需要8秒左右,如介意可以直接利用echo 将 XXXXXXXXXXXX所在行,输出到文本中。
2.将ssq版本中的三个镜像解压合并到同一文件夹下,安装过程会自动全部安装,不会跳出选择其他盘位选项。(官网也有这个说明)

tomliu 发表于 2024-8-19 08:37

感谢分享, 这个很有用

~七夜圣君~ 发表于 2024-8-19 08:40

竟然能看到有人分享ansys安装相关的,谢谢分享

Boulder01 发表于 2024-8-19 08:44

感谢分享:victory:

xxl1039 发表于 2024-8-19 08:55

感谢分享。

是个憨憨 发表于 2024-8-19 08:57

不错,ansys也有分享了

czqicn 发表于 2024-8-19 10:32

ansys也分享一下就好了。

veintdcheng 发表于 2024-8-19 14:45

Ansys是什么软件?

danao 发表于 2024-8-23 22:48

厉害,楼主有这个就方便了

QUKANKAN 发表于 2024-9-10 14:43

厉害不过不会用
页: [1] 2
查看完整版本: 利用cmd实现自动部署Ansys 2024R2软件