- 我在文件资源管理器中打开一个目录。
- 我尝试删除同一个目录(从脚本或命令行或其他方式)。
- 无法删除它,因为它当前处于“正在使用”或“已打开”状态。
我希望无论如何都将其删除并从视觉上关闭(因为它不再存在),而不是出现错误。
起初,我认为我应该检查该目录是否可以“写入”,并且只有在可以的情况下才删除它,但这只会阻止记录错误;它实际上并不能解决删除目录的问题。
这是否可以“强制”?我想不出有多少情况会让我需要在 GUI 窗口中打开一个目录来“阻止”删除同一个目录,而且在我开发过程中,它总是给我带来烦人的问题。
答案1
并不真地。
Explorer 的文件夹上有一个FindFirstChangeNotification
/,FindNextChangeNotification
因此,如果文件夹的内容发生变化,它可以更新文件夹的内容。
看https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-findfirstchangenotificationw。
答案2
你试一试:
rem :: open current foder in explorer ::
explorer .
rem :: kill explorer windows by title/path ::
2>nul >nul %__APPDIR__%taskkill.exe /fi "IMAGENAME eq explorer.exe" /fi "windowtitle eq %CD%"
rem :: removing your folder \name ::
if %errorlevel% == 0 for /d %%i in (.)do cd.. && rmdir "%%~nxi" /q /s