Войти

Показать полную графическую версию : [решено] Test-Path


Ubiquiti
28-01-2016, 10:25
$TP = Test-Path $env:SystemDrive\BOOTSECT.BAK
If ($TP -eq 'False')
{
Write-Host "системный диск не загрузочный"
}
else
{
Write-Host "системный диск загрузочный"
}

привет всем!!! Такой код не могу понять файла BOOTSECT.BAK нету на системном диске а PS выводит Write-Host "системный диск загрузочный" в чем мой касяк

Kazun
28-01-2016, 10:31
$TP -eq 'False' на $TP -eq $false

greg zakharov
28-01-2016, 10:51
Write-Host "Системный диск $(switch(Test-Path $env:SystemDrive\bootsect.bak){$true{''}$false{'не '}})загрузочный"

Ubiquiti
28-01-2016, 10:59
greg zakharov write-host это просто для теста там будет код

greg zakharov
28-01-2016, 11:22
Ubiquiti, что с того? Используйте switch, чтобы не допускать ошибок при сравнении.

Ubiquiti
28-01-2016, 11:59
Ubiquiti, что с того? Используйте switch, чтобы не допускать ошибок при сравнении. »

мне есть разница Я сильно так уже не знаю PowerShell и мой вариант мне воспринемаеться лучше чем Ваш.

$TP = Test-Path $env:SystemDrive\BOOTSECT.BAK
If ($TP -eq $False)
{
Write-Host "системный диск не загрузочный"
}
else
{
Write-Host "системный диск загрузочный"
}

kaatm
28-03-2017, 02:14
Для $null, 0, @() и "" достаточно просто так:
if ($TP) { … }

И Write-Host тоже лишнее, туда по умолчанию выводится.




© OSzone.net 2001-2012