Как разобрать файл .txt и узнать, что для тома в списке нет буквы - PullRequest
0 голосов
/ 28 марта 2019

У меня есть текстовый файл, содержимое которого указано по командам

select disk 0,
select partition 1,
detail partition

enter image description here

Есть ли способ написать сценарий с помощью PowerShell / Batchкоторый может сказать мне, что буква 4 не назначена букве 4. Она должна сказать, что "буква 4 не назначена для этого тома 4".

Примечание: я уже пробовал описанный ниже способ, но думаю,это не очень хороший способ получить результат.

Get-Content .\test.txt
$test.GetType() | Format-Table -AutoSize
$x = $test[21][15]
if ($x -eq $null) {
    Write-Output "No letter assigned. Retrying to Generate a New  letter"
}

1 Ответ

2 голосов
/ 28 марта 2019

Не связывайтесь с текстовым файлом - просто запросите разделы непосредственно в PowerShell.

$nodriveletter = Get-partition | where { (-not $_.driveletter) -and $_.type -ne "Reserved"} |select disknumber,partitionnumber

$nodriveletter

disknumber partitionnumber
---------- ---------------
         3               2

Затем вы можете сделать Foreach для результатов обработки любого ненастроенного раздела.

Если вы хотите узнать, какие буквы уже используются, получите всю информацию о разделе и извлеките результаты, которые вы хотите получить.

$Partitions = Get-partition | where { $_.type -ne "Reserved"} 
$noDriveLetter = $partitions | where { -not $_.driveletter} | select disknumber,partitionnumber
$driveletters = $partitions.driveletter #grabs all driveletters in use
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...