2014-12-29 2 views
0

이것은 이전 질문에서 계속됩니다. 단어의 일부를 색칠하는 방법에 대한 조언을 따랐으나 이제는 "비선형"형식으로 관리 그룹의 목록이 모두 한 줄로 표시됩니다.Nonewline이 Powershell의 출력을 엉망으로 만듭니다.

관리 그룹 : 즉

그것은과 같이 인쇄 .... Descripton : .... 그룹 관리 : .... 설명 : ....

나는 시도했다 여러 위치에서 개행과 함께 놀고 있지만 각 관리 그룹간에 큰 빈 공간이 필요하지는 않습니다.

관리 그룹 : ... 설명 : 난 그냥 다음으로 목록을 원하는 ...

(nobreak)

관리 그룹 : ... 설명 : ...

새 라인 옵션이 작동하지 않는 이유와 어떤 절차를 거쳐야하는지 설명 할 수 있습니까?

if ($owned -eq $Null){ 
$owned | % {write-host "Managing Group: " -nonewline} 
$owned | % {write-host "None Found " -foreground red -nonewline} 
$owned | % {write-host "Group Description: " -nonewline} 
$owned | % {write-host "None Provided " -foreground red } 
write-host "`n" 
} 

elseif ($description -eq $Null){ 
$owned | % {write-host ("Managing Group: " + $_.name + "Group Description: ") -nonewline} 
$owned | % {write-host "None Provided " -foreground red} 
write-host "`n" 

} 
else { 
$owned | % {write-host ("Managing Group: " + $_.name + "Group Description: " + $_.description - replace "`r`n", " ")} 
Write-host "`n" 
} 
+0

당신이'쓰기 호스트 "\'N"'가 포함 된 줄을 제거하면 어떻게됩니까을? –

+0

그들은 같은 방법으로 인쇄합니다 : 관리 그룹. 설명 ... 관리 그룹. 설명 한 줄에. – narue1992

+0

전에 "nonewline"을 사용하여 형식이 바뀌어 전경색을 얻었습니다. – narue1992

답변

1

두 그룹의 관리 그룹 사이의 차이가 너무 중요하다는 것을 알고 있습니다. 나는 문제가

write-host "`n" 

쓰기 호스트를 사용에서 오는 생각 이미 줄 바꿈 문제,

"`n" 

두 번째 줄 바꿈, 따라서 큰 휴식이다.

if 다음에 나오는 첫 번째 코드 블록에서는 $ 소유로 $로 가정합니다. $ null로 가정하면 foreach에 파이핑하면 $ null을 한 번만 파이핑하는 것 외에는 많은 것을하지는 않습니다.) :

if ($owned -eq $Null){ 
    write-host "Managing Group: " -nonewline 
    write-host "None Found " -foreground red -nonewline 
    write-host "Group Description: " -nonewline 
    write-host "None Provided " -foreground red 
} 

마지막 write-host

-nonewline 매개 변수를 가지고 있지 않기 때문에 줄 바꿈이 추가가있을 것입니다.

바로 출력이 될 것입니다 확인을 반복하면

는 :

Managing Group: None Found Group Description: None Provided 
Managing Group: None Found Group Description: None Provided 

같은 아이디어는 ELSEIF 및 다른 다음 다른 코드 블록에 적용 할 필요가있다.

이 코드의 두 번째 부분 해결 도움이 될 수 있습니다

업데이트 :

elseif ($description -eq $Null){ 
    $owned | % { 
     write-host ("Managing Group: " + $_.name + " Group Description: ") -nonewline 
     write-host "None Provided " -foreground red 
     } 
} 
else { 
    $owned | % {write-host ("Managing Group: " + $_.name + " Group Description: " + $_.description - replace "`r`n", " ")} 
} 
+0

Write-Host " 'n" 위의 코드에 표시되었습니다. 나는 또한 "$ owned | %"를 제거하여 여러분의 것처럼 보이도록 변경하려고 시도했지만 아무것도 인쇄하지 않았습니다. – narue1992

+0

''$ owned | % "'는 처음의 if에서만 제거되어야한다는 것을 의미합니다. –

+0

오 오케이 지금 무슨 뜻인지 알 겠어. 나는 그것을 제거했다. 그러나 나는 아직도 이슈를 본다. 예를 들어 한 행에 다음과 같이 표시됩니다. 관리 그룹 : BU_CS_PSBA_COLLCORRGroup 설명 : 관리 그룹 : BU_CS_PAYISSUESGroup 설명 : 없음 제공됨 제공되지 않음 첫 번째 그룹이있는 끝에 "없음"이라는 이중으로 표시됩니다. 그것이 "건너 뛰고 끝에서 인쇄한다는 것을 알려주는"None "이 누락 되었습니까 ??? 의미가 없습니다 – narue1992

관련 문제