::Stop Windows service sc query MyWinService | find "STOPPED" & if errorlevel 1 net stop MyWinService ::delete the dll del /q E:\MyWinService\\* for /d %%x in (E:\MyWinService\\*) do @rd /s /q "%%x"
但是有些DLL不会被删除,输出结果是----"ACCESS DENIED"----
如果在5分钟后重新运行相同的命令,它会执行。 我知道,因为该DLL仍然与Windows服务相关联,所以错误即将到来,但我想删除的DLL无需5分钟后再次运行该命令。 🙁
批处理文件的方式
:Repeat del "del /q E:\MyWinService\*" if exist "E:\MyWinService\sampledll.dll" goto Repeat
Powershell方式:
do { $a = stop-service MyWinService -PassThru }while ($a.status -ne "Stopped") do { remove-item e:\MyWinService\* -recurse -force -ea silentlycontinue } untill ( (dir e:\mywinservice).count -gt 0 )