2014-04-10 2 views
0

현재 assemblyinfo.cs 파일에서 버전 번호를 가져 와서 버전 번호 1.2.3.4 만 다른 텍스트 파일에 추가하려고합니다. .특정 값을 반환하기 위해 PowerShell을 통해 텍스트 파일의 문자열 조작

.split() 메서드를 사용하려고 시도했지만 항목이 이미 문자열 인 경우에만 작동하고 텍스트 파일에서 문자열 전체를 가져 오는 경우에만 사용합니다 선택 문자열 다음

내가

$의 A = 고양이와 함께 일하고 있어요 무슨 "C : \ path_to_file의 AssemblyInfo.cs \"| 생산합니다 선택 문자열 AssemblyVersion

: [어셈블리 : AssemblyVersion ("5.7.4.1")]

내가 $의 a.split를 (' "')을 수행하려고하면 그때

을 얻을 것이다 . 1 개 문자 : < < < < 21 + $ versionstring.split (' "')

메소드 호출 때문에 [하는 System.Object []] '분할' 라인에서라는 메서드를 포함하지 않는 실패 + CategoryInfo : InvalidOperation : (분할 : 문자열) [], RuntimeException을 는 + FullyQualifiedErrorId : 내가 말했듯이,이 객체가 아닌 문자열로 간주 때문이다

을 MethodNotFound.

내가 원하는 결과는하지만 이렇게 있습니다 : 나는 내용을 표시 한 후 난, 문자열을 끌어 CAT를 사용하고 있다는 사실과 관련되어있는 문제가 있으리라 믿고있어

PS C:\> $a = '[assembly: AssemblyVersion("5.7.4.1")]' 
$b = $a.split(' " ') 
$b[2] 
5.7.4.1 

을 확실하지 않다.

답변

0

Select-String은 MatchInfo 개체를 반환합니다. 행의 문자열 값은 해당 객체의 .line 속성에 있습니다.

$a.line.split(' " ') 

당신이 찾고있는 결과를 제공해야합니다.

사용

$a | Get-Member 

가 반환됩니다 사용 가능한 모든 속성을 볼 수 있습니다.

+0

고맙습니다 !!!!!!!!!! 정확히 내가 필요로했던 것이었다 !! 나에게 답장을 보내 자마자 곧 답변을 수락하겠습니다! – PhilWolf91

+0

당신을 진심으로 환영합니다! – mjolinor

관련 문제