2017-03-10 86 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

非常感谢您 –