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

[其他] [已解决]批处理能不能检测是否有文件夹打开?谢谢

本帖最后由 yyz219 于 2022-1-22 11:13 编辑
  1. 解决了:
  2. ::【大概需要3、4秒】
  3. @echo off
  4. powershell -c "(New-Object -ComObject 'Shell.Application').Windows() | foreach{ $_.LocationURL }">123.txt
  5. ::【检测 “关键字”:file】
  6. findstr ""file"" "123.txt" >nul 2>&1
  7. if errorlevel 1 goto :C   %【无就跳到 :C】%
  8. if errorlevel 0 goto :D   %【有就跳到 :D】%
  9. :C
  10. del   123.txt
  11. echo                                    无
  12. pause >nul
  13. exit
  14. :D
  15. del   123.txt
  16. echo                                    有
  17. pause >nul
  18. exit
复制代码
我是小白,希望老师多多帮助

cmdow /t
Handle  Lev Pid -Window status- Image    Caption
0x1902B4 1 2656 Res Act Ena Vis Unknown  管理员: C:\Windows\System32\cmd.exe -
0x190286 1 4704 Min Ina Ena Vis Unknown  小工具
0x0F012C 1 1836 Min Ina Ena Vis Unknown  批处理能不能检测是否有文件夹打开?谢谢
0x0D01E4 1 4704 Min Ina Ena Vis Unknown  SOFT (D
第三方可以的

TOP

回复 2# 窄口牛


    我看不明白,惭愧
我是小白,希望老师多多帮助

TOP

@echo off
set "dirF="
set/p dirF="指定一个目录或其关键字:"
if not defined dirF exit/b
set "dirF=%dirF:"=%"
set "dirFopen="
for /f "delims=" %%v in ('tasklist.exe /v /fo list /fi "imagename eq explorer.exe" ^| find /i "%dirF%" ') do set dirFopen=%%v
if defined dirFopen echo,与【%dirF%】有关的目录《%dirFopen:~10%》已被资源管理器打开
pause & exit/b

TOP

回复 4# aloha20200628


    不行啊:

指定一个目录或其关键字:D:\桌面\Desktop\123
请按任意键继续. . .
我是小白,希望老师多多帮助

TOP

tasklist似乎只记住当前最活跃的文件夹(或仅打开一个文件夹),那些虽被资源管理器打开但不活跃的文件夹都被忘记了...

TOP

cmd执行
  1. powershell -c "(New-Object -ComObject 'Shell.Application').Windows() | foreach{ $_.LocationURL }"
复制代码
1

评分人数

    • yyz219: 成功,就是有一点慢技术 + 1

TOP

回复 7# went


    成功,就是有一点慢
我是小白,希望老师多多帮助

TOP

返回列表