2017-03-10 93 views
3

我已經編寫了一個powershell腳本來卸載服務,然後刪除安裝該服務的文件夾。 腳本卸載服務沒有任何問題,但它不能刪除目錄......它說該目錄正在使用中。當我嘗試手動刪除它刪除就好了....我已經試過各種方法來完成這件事,但安裝在$安裝目錄\服務器Powershell腳本無法刪除目錄

function env_check() 
{ 
Try 
{ 
    Start-Transcript -Path C:\Deployment_Script.txt.log -ErrorAction Stop 

    if (Get-Service "ESL_SERVICE" -ErrorAction Continue) 
    { 

     $arrService = Get-Service -Name ESL_SERVICE 
     if ($arrService.Status -eq 'Running') 
     { 
      Stop-Service ESL_SERVICE 
     } 

     cd $INSTALL_DIR\server 
     sc.exe delete "ESL_Service" -ErrorAction Stop 
    } 
    Remove-Item "$INSTALL_DIR\server" -Force -Recurse 
    Remove-Item "$INSTALL_DIR\client" -Force -Recurse 
    Remove-Item "$INSTALL_DIR\DB Migration" -Force -Recurse 
} 
Catch 
{ 
    Write-Output $_.Exception.Message 
    New-Item -Path $LOG_PATH -ItemType directory -ErrorAction Stop 
    Copy-Item -Force C:\Deployment_Script.txt.log $LOG_PATH\. -ErrorAction Stop 
    exit 
} 
} 
+0

驗證'$ INSTALL_DIR'的內容是否進入您的功能 – Esperento57

回答

2

你什麼也不worked.The服務目錄通過cd $INSTALL_DIR\server

阻止自己作爲概念驗證,你可以嘗試以下

New-Item $env:temp\server -ItemType Directory 
# by navigating to the folder we wish to delete we get an 'in use' error message 
cd $env:temp\server 
Remove-Item "$($env:temp)\server" -force -recurse 

明確了導航的文件夾允許刪除

New-Item $env:temp\server -ItemType Directory 
cd $env:temp 
Remove-Item "$($env:temp)\server" -force -recurse 
+0

非常感謝您 –