前阵子要用Tecplot做一下后处理,然后在网络上找了个最新的版本Tecplot 2023R1。
安装完毕后,利用记事本打开文件 C:\Windows\System32\drivers\etc\hosts
,在文件末尾添加:
127.0.0.1 download.tecplot.com
然后重启电脑后就可以用了。其中添加这行文本的目的是防止程序访问网络。
然而这经常是一锤子买卖,往往是第一次可以打开,后面电脑启动后再启动软件就提示 license 有问题。(老版本Tecplot似乎不会出现后面的问题)
不过如果断开网络,又可以正常使用 Tecplot 的。然而网络时代,断开网络总让人难受得紧。
网络上有人说可以通过利用 Windows Defender 防火墙禁止 Tecplot 程序联网(见 https://www.7b3.cn/3674.html ),我试了一下,有的电脑上可以,有的电脑则不行,目前不知道原因,但从原理上来讲利用防火墙阻止程序访问网络是完全可以做到的。
由于主电脑无法使用此方法解决问题,只能继续在网络上寻找。后来找到了这篇文章:https://zhuanlan.zhihu.com/p/641635018。这篇文章介绍了两种方法,其中一种方法使用工具软件Firewall App Blocker v1.9。但这个软件实际上还是利用windows defender进行工作,和直接在Windows Defender中进行设置并无区别。
死马当作活马医,直接使用其提供的第二种方法:写一个批处理文件,限制指定文件夹中的所有可执行文件访问网络。因为我怀疑搞事儿的不只是tec360.exe文件。
1、打开 windows 的记事本,粘贴以下代码到记事本中
@Echo Off
SetLocal
:begin
echo:
echo ****** 禁止文件夹联网 ******
echo:
set /p folder=请输入文件夹(退出请直接关闭窗口):
If Not Exist "%folder%\" Exit/B
If /I "%CD%" NEq "%folder%" PushD %folder%
Set "Cmnd=netsh advfirewall firewall add rule action=block"
echo:
For /R %%a In (*.exe) Do (For %%b In (in out) Do (
echo 创建禁止 %%b 规则【%%a】
%Cmnd% name="blocked %%a via script" dir=%%b program="%%a"))
echo:
echo 搞定了,%folder% 中所有 exe 文件的禁止入站、出站规则都已成功创建!
echo ----------------------------
echo:
goto begin
2、将文件保存成 .bat 扩展名的文件,名字随意;保存时注意编码要选 ANSI
3、以管理员身份运行该文件
4、输入要禁止联网的文件夹,然后回车。(原理就是搜索文件夹里所有的 exe 文件,然后禁止它们联网,注意:子文件夹中的 exe 文件也将创建规则)
5、执行成功后,文件夹内所有 exe 的禁止入站、出站规则都已创建。
6、重启电脑(重要)
貌似要重启电脑才能生效。反正我这里重启后tecplot就能用了。
这种方法也可以用于其他所有想要禁止联网的程序处理。
注:以上方法及测试软件均来自互联网,仅为学习之用(在此对提供解决方法并无私公开的网友表示感谢)。若商业使用请购买正版软件。
(完)