标题: 大家好,关于防火墙禁止入站的,有偿求助30R [打印本页]
作者: 前尘为谁 时间: 2021-8-19 10:16 标题: 大家好,关于防火墙禁止入站的,有偿求助30R
目的:想禁止一个软件的防火墙入站,当前可以实现知道它安装目录进行禁用创建,如下- netsh advfirewall firewall add rule name=”ceshi” dir=in program= "%SystemDrive%\Program Files\Tencent\QQBrowser\QQBrowser.exe" action=block
复制代码
%SystemDrive%\Program Files\Tencent\QQBrowser\QQBrowser.exe这个路径可能存在不同的盘中。
假如这个软件假如安装的不是在C盘,是在其他盘那就无法实现了,于是我想到通过该软件的注册表的键值可以读取到具体的路径如下,以IE为例- reg query "HKEY_CLASSES_ROOT\Applications\iexplore.exe\shell\open\command"
复制代码
可以得到精确的路径:C:\Program Files\Internet Explorer\IEXPLORE.EXE
这样就能获取到任意安装该软件的具体位置,现在遇到的问题是怎么把第二个得出的变量放到第一个命令中,不知道怎么实现,求大佬指点迷津。
微信:small-whispers719
QQ:836175733
感谢各位,感谢批处理之家,祝越办越好。
作者: 前尘为谁 时间: 2021-8-19 11:22
谢谢大神,搞定了
作者: 前尘为谁 时间: 2021-8-19 14:55
- /*&cls&echo off
- rem 编码ANSI
- set "regpath=HKEY_CLASSES_ROOT\Applications\iexplore.exe\shell\open\command"
- for /f "delims=" %%a in ('reg query "%regpath%"^|find "默认"^|cscript -nologo -e:jscript "%~f0"') do set "exefile=%%a"
- echo;"%exefile%"
- if not defined exefile (echo;提取路径失败&pause&exit)
- netsh advfirewall firewall add rule name=”ceshi” dir=in program= "%exefile%" action=block
- pause
- exit
- */
- var m=WSH.StdIn.ReadLine().match(/[A-Z]:.+?\.exe/i);
- if(m){WSH.echo(m[0]);}
复制代码
分享下大神的解决方案,供大家参考
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |