2012-07-20 2 views
2

PowerShell을 처음 사용하므로 쉽게 대답 할 수 있습니다. 내가 뭘하고 싶은 것은 $의 배열 2의 모든 값에 가입하는 것입니다개체를 문자열로 변환하는 방법

$array2 = $array1|select-object{$_} 

그래서 문자열로 끝낼 :

$array1 = "a", "b", "c" 

가 그럼 난 또 다른 배열을 만들 : 내가 지금과 같은 배열을 만드는 경우를 가정 해 "abc"하지만 $ array2에서 "- join"을 사용하면 빈 결과가 생성됩니다. 누군가 내가 어떻게 해결할 수 있는지 설명해 줄 수 있습니까? 다음

$array2 -join ' ' 

작품

$array2 = $array1 

에서

+1

'array1'을'array2'에 복사 할 때 왜'| select-object {$ _} '를 사용합니까? –

+0

예를 강조하기 만했습니다. 나는 결코 그 approeach를 사용하지 않을 것이다. 그러나 나는 그것에 관해 너무 명확하지 않았다고 생각한다. –

답변

2

그냥 당신이 PowerShell에서 여기에 무엇을해야 할 $array2 = $array1 | select-object 또는 $array2 = $array1

$array1 = "a", "b", "c" 

#expected output: a b c 
$array1 -join " " 

#here it is 
$array2 = $array1 | select-object 

#expected output: a b c 
$array2 -join " " 

#here it is 
$array2 = $array1 

#expected output: a b c 
$array2 -join " " 
+0

akim에게 감사한다. {$ _}이 (가) 나를 위해 일했다! –

0

수정

$array2 = $array1|select-object{$_} 

!

1

쉬운 방법으로 $array2 = $array1|select-object{$_}을 대체하는 것은

"$array1" 

또는

'' + $array1 

둘의 조인 것입니다 $OFS의 배열 요소 또는 $OFS$null 인 경우 공백입니다.

다른 사람들이 언급했듯이 Select-Object 통화가 잘못되었습니다. Select-Object는 스크립트 블록이 아닌 속성 이름을 사용합니다. 아마 당신은 ForEach-Object을 원했을 것입니까?

+0

캐스팅은 어떻게 되나요?'[string] $ array1'? 좋은 습관입니까? –

+0

너무 일해야한다. 그게 최선의 관행이라면 분명히 '- 조인'이라고 생각합니다. 대화 형으로 나는 보통 PowerShell에서 자주 골프를 치기 때문에 가장 짧은 변종을 선호합니다. – Joey

관련 문제