如何在DOS / win命令提示符/ windowsbatch file中停止windows服务后删除dll

::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 )