Powershell — Delete File If Exists

Проблема: Нужно удалить файл с помощью powershell’a, но перед удалением файла — проверить его существование, потому что возникает ошибка Cannot find path ‘<путь к файлу>’ because it does not exist.

Инструментарий: powershell

Решение: Для удаления файла — можно воспользоваться командой Remove-Item, которая удалит существующий файл, но есть одно но. Если файл не существует — при попытке удаления Вы получите сообщение об ошибке: Cannot find path ‘<путь к файлу>’ because it does not exist. Для того чтобы обойти данную ошибку — нужно перед удалением проверить файл на существование.

Remove-Item : Cannot find path ‘C:\mirsovetov.net.txt’ because it does not exist.

At line:1 char:1
+ Remove-Item C:\mirsovetov.net.txt
+ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
+ CategoryInfo : ObjectNotFound: (C:\123.txt:String) [Remove-Item], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

Для проверки файла на существование можно воспользоваться командой Test-Path. В результате у нас получится следующий код: 

$FileName = "C:\mirsovetov.net.txt"
if (Test-Path $FileName)
{
  Remove-Item $FileName
}

После выполнения данной команды, если файл будет существовать — он будет удаленудалится.

Добавить комментарий