반응형
파워셸의 목록에서 마지막 항목 선택
d에서 z까지 사용 가능한 드라이브 목록을 제공하는 이 코드 라인을 사용하여 드라이브 문자를 매핑하려고 합니다.
ls function:[d-z]: -n | ? { !(test-path $_) }
그럼 목록에서 무작위가 아닌 마지막 편지를 뽑고 싶습니다.제가 그걸 어떻게 해야 하죠?파워셸은 처음입니다. 도와주셔서 감사합니다.
사용가능Select-Object -Last 1
그 파이프라인의 끝에.
목록의 맨 뒤에서 시작해서 올라가시면 됩니다.
마지막 항목:$array[-1]
두 번째부터 마지막까지:$array[-2]
등등.
만약 당신이 훨씬 더 장황하지만 (내 생각에는) 읽을 수 있게 개선된 버전을 찾는다면:
# Get all drives which are used (unavailable)
# Filter for the "Name" property ==> Drive letter
$Drives = (Get-PSDrive -PSProvider FileSystem).Name
# Create an array of D to Z
# Haven't found a more elegant version...
$Letters = [char[]]([char]'D'..[char]'Z')
# Filter out, which $Letters are not in $Drives (<=)
# Again, filter for their letter
$Available = (Compare-Object -ReferenceObject $Letters -DifferenceObject $Drives | Where {$_.SideIndicator -eq "<="}).InputObject
# Get the last letter
$LastLetter = $Available[-1]
시도해 보기:
ls function:[d-z]: -n|?{!(test-path $_)} | Select-Object -Last 1
D-Z의 모든 경로를 시도할 필요가 없는 또 다른 옵션은 파싱하는 것입니다.Get-Psdrive
. 예는 다음과 같습니다.
$lettersInUse = Get-Psdrive | ? { $_.Name.Length -eq 1 } | % { $_.Name }
$lastDriveLetter = [Char]'Z'
while ($lettersInUse -contains $lastDriveLetter) {
$lastDriveLetter = [Char]($lastDriveLetter - 1)
}
$lastDriveLetter
배열이 있는 경우
$newArray = @(git tag --list) $lastmember = $newArray[$newArray.Count – 1]
목록이 있는 경우
$newArray | Select-Object -Last 1
언급URL : https://stackoverflow.com/questions/18018892/pick-last-item-from-list-in-powershell
반응형
'programing' 카테고리의 다른 글
드롭 테이블도 제약 조건을 드롭합니까? (0) | 2023.10.26 |
---|---|
중복된 기본 키에서 Pandas to_sql이 실패함 (0) | 2023.10.26 |
WooCommerce 체크아웃 사용자 정의 텍스트 필드에서 Datepicker 사용 (0) | 2023.10.26 |
컴팩트한 쓰기 방식 (a + b == c 또는 a + c == b 또는 b + c == a) (0) | 2023.10.26 |
python에서 목록 이해 또는 생성자 표현식에 대한 줄 연속 (0) | 2023.10.26 |