[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

大家好,关于防火墙禁止入站的,有偿求助30R

目的:想禁止一个软件的防火墙入站,当前可以实现知道它安装目录进行禁用创建,如下
  1. 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为例
  1. reg query "HKEY_CLASSES_ROOT\Applications\iexplore.exe\shell\open\command"
复制代码
可以得到精确的路径:C:\Program Files\Internet Explorer\IEXPLORE.EXE
这样就能获取到任意安装该软件的具体位置,现在遇到的问题是怎么把第二个得出的变量放到第一个命令中,不知道怎么实现,求大佬指点迷津。

微信:small-whispers719
QQ:836175733
感谢各位,感谢批处理之家,祝越办越好。

谢谢大神,搞定了
修道一生,悟法一世。换来万古无敌,再回首举世皆寂。

TOP

  1. /*&cls&echo off
  2. rem 编码ANSI
  3. set "regpath=HKEY_CLASSES_ROOT\Applications\iexplore.exe\shell\open\command"
  4. for /f "delims=" %%a in ('reg query "%regpath%"^|find "默认"^|cscript -nologo -e:jscript "%~f0"') do set "exefile=%%a"
  5. echo;"%exefile%"
  6. if not defined exefile (echo;提取路径失败&pause&exit)
  7. netsh advfirewall firewall add rule name=”ceshi” dir=in program= "%exefile%" action=block
  8. pause
  9. exit
  10. */
  11. var m=WSH.StdIn.ReadLine().match(/[A-Z]:.+?\.exe/i);
  12. if(m){WSH.echo(m[0]);}
复制代码
分享下大神的解决方案,供大家参考
修道一生,悟法一世。换来万古无敌,再回首举世皆寂。

TOP

返回列表