我有BAT脚本,这些都不是很棘手,在XP上工作正常.但是在Win 7上,在rmdir之后的mkdir中,大约有五分之一的执行给了一个神秘的Access Denied.例如
S:\TLIB importing\! Curtains\2 To process>rmdir temp3allout /s /q
S:\TLIB importing\! Curtains\2 To process>mkdir temp3allout
Access is denied.
Run Code Online (Sandbox Code Playgroud)
在此之后,当我在资源管理器中尝试时,制作该目录没有问题.再次运行thatBAT通常会成功.
知道这里发生了什么吗?
Win XP光盘是一个普通的2Gb驱动器.Win 7光盘是一个2Gb Intel RST RAID1阵列,禁用缓存和刷新http://i.imgur.com/Ohqkg2t.png.
当文件系统尚未完成删除目录时会发生这种情况.
有时这会同步发生,即在rmdir命令完成之前,但有时会出现非常短但非零的延迟.(在XP中它始终是同步的,IIRC.)
如果可能,请避免删除并立即重新创建目录; 如果你无法避免,你需要检测失败并重试.
您可能还应该测试并在必要时重试rmdir; 有时rmdir遇到同样的问题,无法删除整个目录树.
| 归档时间: |
|
| 查看次数: |
2948 次 |
| 最近记录: |