Удалить несколько файлов в одну строку PS - PullRequest
0 голосов
/ 03 сентября 2018

Мне было интересно, существует ли элегантный способ удаления нескольких файлов в диктонарном случае, если они существуют, с помощью PowerShell.

Моя текущая попытка не совсем работает.

$var1,$var2,$var3,$var4,$var5,$var6,$var7,$var8,$var9,$var10,$var11,$var12,$var13 |
    ?{Test-Path "\\C:\Windows\system32\$_"} |
    %{del "\\C:\Windows\system32\$_" -Force}

У кого-нибудь есть хорошая идея?

1 Ответ

0 голосов
/ 06 сентября 2018

Спасибо за вашу помощь, Я использовал переменные, потому что мне нужно было удалить большое количество этих файлов в разных папках / ключах / ключах . Но не все время ( никогда ) в одном и том же созвездии. Но, как и предполагалось, вместо этого я мог бы использовать строку.

Я использовал этот код для удаления файлов и отправки сообщений об ошибках. Например, если файл уже удален.

?{$var1,$var2,$var3,$var4,$var5,$var6,$var7,$var8,$var9,$var10,$var11,$var12,$var13 | ForEach-Object{ Remove-Item -Path C:\Windows\system32\$_}}

После этого я проверяю, была ли проблема, и файлы все еще существуют. В этом случае их необходимо удалить вручную.

$var1,$var2,$var3,$var4,$var5,$var6,$var7,$var8,$var9,$var10,$var11,$var12,$var13 | ForEach-Object{ IF((Test-Path C:\Windows\system32\$_ -PathType Leaf) -eq $True) {echo "C:\Windows\system32\$_ could not be deleted" }}

Привет

...