Поместите букву диска в путь - PullRequest
0 голосов
/ 21 февраля 2019
$DiskCount = (Get-Disk | Where-Object {$_.BusType -eq "USB"}).Number.Count
if ($DiskCount -eq 1) {
    filter Get-FirstResolvedPath {
       (Get-Disk |
           Where-Object {$_.BusType -eq "USB"} |
           Get-Partition |
           Get-Volume |
           Where-Object {$null -ne $_.DriveLetter}
       ).DriveLetter + ':\' | Join-Path -ChildPath $_ -Resolve -ErrorAction SilentlyContinue
    }
    'Folder\Folder\reg\Start.reg' | Get-FirstResolvedPath
}

Есть ли другой способ получить полный путь к файлу, если он хранится на USB-накопителе, абсолютный путь и мы не знаем буквы USB-диска?

1 Ответ

0 голосов
/ 21 февраля 2019

Мне нравится ваше решение.Я бы написал по-другому, и вы могли бы немного его укоротить:

function Get-ResolvedPath {
  param ([Parameter(ValueFromPipeline=1)]$Path)
  Get-Disk |? BusType -ne USB | Get-Partition |% {Join-Path ($_.DriveLetter+":") $Path -R -EA Silent}
}

'Folder\Folder\reg\Start.reg' | Get-ResolvedPath | select -First 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...