Remove-Item : パス ‘D:\xampp\apが存在しないため検出できません。

Remove-Item : パス ‘D:\xampp\apが存在しないため検出できません。

というエラーが表示した。

[なんでエラーがでた?]

フォルダがないのに、削除を行ったためにエラーがでたようだ。

 

[対策は?]

フォルダがあるかどうかを確認して

フォルダがあれば削除をするようにif文を使う。

 

 

[検索してみた]

以下のページにTest-Pathコマンドを使ったif文があった。

https://technet.microsoft.com/ja-jp/scriptcenter/ff859516.aspx#EFAA

 

Test-Path C:\Scripts

この 1 行の簡単なコマンドでは、C:\Scripts フォルダーが存在する場合は True を返し、存在しない場合は False を返します。わかりやすくいメッセージを表示するスクリプトは、次のとおりです。

if (Test-Path C:\Scripts) 
 
{ 
 
    "C:\Scripts exists" 
 
} 
 
else 
 
{ 
 
    "C:\Scripts does not exist" 
 
}

 

[修正したスクリプト例]

 


#ログフォルダの削除
if(Test-Path D:\xampp\apache\logs\$domain){
 Remove-Item -path D:\xampp\apache\logs\$domain -recurse -force
}else{
 echo  "Not found D:\xampp\apache\logs\$domain "
}
#作業フォルダの削除
if(Test-Path E:\$domain){
    Remove-Item -path E:\$domain -recurse -force
 }else{
 echo  "Not found E:\$domain"
}

#公開用フォルダの削除
if(Test-Path F:\xampp\$domain){
    Remove-Item -path F:\xampp\$domain -recurse -force
 }else{
 echo  "Not found F:\xampp\$domain"
}