windows - 删除目录中除 .bat 以外的所有文件
问题描述
我想删除 Windows 上的特定目录。我使用下面的代码。它工作正常。我想将为此进程创建的 .bat 文件放在该目录中。自然,.bat 文件也会被删除。我希望从删除中排除 .bat 文件。我应该如何处理代码?
Echo batch file delete folder
@RD /S /Q "D:\testfolder"
解决方案
您所要做的就是通过打开一个虚拟读取句柄来锁定您的批处理文件。
echo The batch file wont be deleted because it is locked by a dummy input redirection.
rd /s /q "D:\testfolder" 9<"%~f0"
当然,该命令会显示一条错误消息rd
,因为目标目录中至少有一个文件(您自己的批处理文件)无法删除。您可以通过将标准错误流重定向到nul
设备来隐藏该消息:
rd /s /q "D:\testfolder" 9<"%~f0" 2>nul
推荐阅读
- itext7 - 在 itext7 - PdfDocument.GetNumberOfPages() 一直只返回一页
- hive - 如何在 hive 中实现累积快照
- camunda - 如何将输出值从一个服务任务传递到另一个服务任务
- docker - 检查哪个用户推送到 docker 镜像
- javascript - Jquery 查找所有 id="" 的 div 并更改其文本
- r - 独立于平台的 xaringan 演示文稿 (Blackboard)
- spotify - 使用 Zapier 将 Slack 频道中共享的 Spotify 链接添加到 Spotify 播放列表
- r - 将参数传递给列名以表示自定义函数中的函数
- makefile - 如何在Makefile中更改redis的CC
- excel - 如果满足某些条件,则在工作表之间复制数据