ps:这里指的顽固文件或文件夹是windows方式下一般难删除的文件或文件夹,例如:“con”、“hehe.”等等。。。复制代码
- @echo off&setlocal enabledelayedexpansion
- set /p file=请将要删除的文件或文件夹拖动到这里:
- if not defined file goto end
- pause
- echo y|cacls "file" /t /c /g everyone:f>nul
- pause
- del /a /f /q "\\?\%file%">nul
- rd /s /q "\\?\%file%">nul
- pause
- :end
复制代码
- @echo off
- set /p file=请将要删除的文件或文件夹拖动到这里:
- if not defined file goto end
- del /a /f /q "\\?\%file%" 2>nul
- rd /s /q "\\?\%file%" 2>nul
- :end
Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp. C:\Test>md hehe..\ C:\Test>md con\ C:\Test>dir /b con hehe. test.bat C:\Test>test.bat 请将要删除的文件或文件夹拖动到这里:C:\Test\hehe. C:\Test>dir /b con test.bat C:\Test>test.bat 请将要删除的文件或文件夹拖动到这里:C:\Test\con C:\Test>dir /b test.bat |
原帖由 Batcher 于 2009-3-2 19:55 发表
@echo off
set /p file=请将要删除的文件或文件夹拖动到这里:
if not defined file goto end
del /a /f /q "\\?\%file%" 2>nul
rd /s /q "\\?\%file%" 2>nul
:endMicrosoft Windows XP [版本 5.1.2600]
(C) 版 ...
@echo off&setlocal enabledelayedexpansion%请问这里启用变量延迟扩展有什么用?%
set /p file=请将要删除的文件或文件夹拖动到这里:
if not defined file goto end
pause
echo y|cacls "file" /t /c /g everyone:f>nul%请问file变量为何不加百分号?%
pause
del /a /f /q "\\?\%file%">nul
rd /s /q "\\?\%file%">nul
pause
:end
如果有人帮你解决了问题,建议进行以下操作:
1、修改帖子标题,在标题最前面注明:【已结】
2、给竭尽全力帮你的人、正确回答问题的人加分(你自己的积分不会减少)以示感谢,虽然大家来论坛是为了学习而不是为了积分,但加分聊表谢意总是或多或少能够让花费了时间和精力无私帮助你的人略感欣慰。
3、如果你是在别人的提示下自己写出了代码,请把自己的方法贴出来跟大家分享一下,也许他人可以帮你指出代码中的不足之处、告诉你如何提高执行效率等,有交流才能更快地进步。
欢迎光临 批处理之家 (http://www.bathome.net/) | Powered by Discuz! 7.2 |