programing

파워셸의 비트와이즈 연산자 사용

newnotes 2023. 9. 7. 22:01
반응형

파워셸의 비트와이즈 연산자 사용

아래 시나리오를 해결하는 방법의 예를 찾고 있습니다.

프린터가 "상태"에 대해 다음 속성을 가지고 있다고 상상해 보십시오.
0 - 오프라인
2 -종이쟁반 비움
4 - 토너 소진
8 - 종이잼

상태를 조회하면 12의 값을 반환합니다.이는 프린터에 토너가 소진되고 용지가 걸림을 의미하는 것임을 분명히 알 수 있습니다. 하지만 파워셸을 사용하면 이 문제를 어떻게 해결할 수 있을까요?

감사해요.

파워셸의 부울 비트와 연산자는-band.

해시 테이블에서 값과 설명을 정의하고 프린터에서 12의 값을 갖는다고 가정합니다.

 $status = @{1 = "Offline" ; 2 = "Paper Tray Empty" ; 4 = "Toner Exhausted" ; 8 = "Paper Jam" }
 $value = 12

그러면 이 문장에서 텍스트에 대한 설명이 나옵니다.

$status.Keys | where { $_ -band $value } | foreach { $status.Get_Item($_) }

파워셸에서 열거를 정의할 도 있지만 위의 내용도 마찬가지이며 파워셸에서 열거를 정의하는 것은 많은 작업이 필요한 것 같습니다.

여기 파워셸에서 비트와이즈 연산자를 사용하는 방법에 대한 기사가 있습니다.

PowerShell에서 더 많은 작업을 수행할 수 있습니다.다음은 시스템을 사용한 예입니다.IO.파일 옵션:

PS> [enum]::GetValues([io.fileoptions]) | ?{$_.value__ -band 0x90000000}
RandomAccess
WriteThrough

언급URL : https://stackoverflow.com/questions/2648052/using-powershells-bitwise-operators

반응형