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


    如你所说,自由决定关闭文件夹路径,遍历其下打开的所有文件夹,找到符合条件的窗口就关闭它。WIN10测试通过。
  1. @if (0)==(0) echo off
  2. set /p "strFolder=拖入遍历的文件夹 : "
  3. for /f "tokens=*" %%i in ('dir /s/b/ad %strFolder%') do (
  4. cscript -nologo -e:jscript %~s0 CloseOpenWindow "%%~ni"
  5. echo,
  6. )
  7. pause
  8. goto :EOF
  9. @end
  10. var func = WScript.Arguments(0);
  11. var str = WScript.Arguments(1);
  12. switch (func) {
  13. case "CloseOpenWindow":
  14. CloseOpenWindow(str);
  15. break;
  16. default:;
  17. }
  18. function CloseOpenWindow(str) {
  19. WScript.Echo("当前传入参数为 : " + str);
  20. var oShell = new ActiveXObject("WScript.Shell");
  21. var ret = oShell.AppActivate(str);
  22. WScript.Echo("打开状态 : " + ret);
  23. if (ret) {
  24. /// 打开状态为真时,关闭它
  25. oShell.SendKeys("%{F4}");
  26. WScript.Echo("存在打开文件夹 " + str + " ,关闭之");
  27. }
  28. }
复制代码
echo,hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com

TOP

如要将指定文件夹本身也关闭,对输入路径再作一次关闭调用即可。
echo,hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com

TOP

回复 10# yunyan100


    你是怎么使用的?输入参数是你要遍历的文件夹,这个脚本关闭的是它子文件夹中有被打开的窗口。如图所示:

传入的路径下有一个文件夹,若其被打开,则遍历时会被探测到并被关闭。
echo,hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com

TOP

回复 12# yunyan100


    奇怪,难道你那脚本宿主有问题……
echo,hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com

TOP

回复 14# yunyan100


    什么意思?引用这段脚本?如果是这样随便引用,这是讨论区,发出来就是提供参考的。
另,你运行无报错,但是却无法激活窗口,可能是安全软件禁用相关功能或者脚本宿主功能不全,可单独测试一下WScript.Shell的窗口激活功能是否能正常起用。
echo,hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com

TOP

返回列表