2016-10-06 3 views
-1

C:\ 드라이브의 디렉터리를 반복하는 PowerShell 스크립트를 작성하고 파일 확장자가있는 파일 이름을 다른 스크립트로 구문 분석하여 사용합니다.디렉토리 목록을 분석하고 다른 스크립트로 전달 하시겠습니까?

기본적으로 디렉터리 목록의 출력은 하나씩 다른 스크립트로 구문 분석 할 수 있어야합니다. 이 스크립트는 특정 모듈 (파일 이름)을 컴파일하기 위해 인수 (매개 변수)가 파싱 될 것으로 기대하는 컴파일 스크립트입니다.

코드 : 당신의 잘못된 코드에서

Clear-Host $Path = "C:\SandBox\" 
Get-ChildItem $Path -recurse -force | ForEach { If ($_.extension -eq ".cob") 
    { 
     Write-Host $_.fullname 
    } 
} 
If ($_.extension -eq ".pco") 
{ 
    Write-Host $_.fullname } 
} 
+0

지금까지 당신이 무엇을 시도

# getmyfiles.ps1 Param([string])$Path = Get-Location) dir $Path -Recurse -Force | where { $_.Extension -in @('.cob', '.pco') } # this is another script that calls the above . getmyfile.ps1 -Path c:\sandbox | foreach-object { # $_ is a file object. I'm just printing its full path but u can do other stuff eith it Write-host $_.Fullname } 
: 여기

당신을 위해 작동 할 수 있습니다 뭔가? – Atf

+0

안녕하세요 ... 저에게 물어 보는 것처럼 보이지만 실제로는 나와 상관 관계가없는 코드가 인터넷에서 발견되었습니다. –

+0

논리 조각을 찾았습니다 : –

답변

-1
Clear-Host 
$Path = "C:\Sandbox\" 
$Items = Get-ChildItem $Path -recurse -Include "*.cob", "*.pco" 

는 .cob 한 파일과 .pco 파일 확장자의 목록을 반환 할 추측하고있다. 위의 코드를 사용하여 수집 할 수 있습니다.

$File = $Items.name 
$FullName = $items.fullname 
Write-Host $Items.name 
$File 
$FullName 

위의 행을 추가하면 여러 가지 방법으로 표시 할 수 있습니다. 필요에 맞는 것을 골라 각각을 위해 반복 할 수 있습니다.

일반적으로 코드를 작성할 장소가 아니지만 질문에 일부를 추가하려고 했으므로 살펴 보았습니다. 때로는 올바른 방향으로 조금 움직 이기만하면됩니다.

+0

안녕 얘들 아. 의견을 보내 주셔서 감사합니다. PowerShell 터미널에서이 방법을 시도했지만 일부 또는 다른 이유로 작동하지 않고 $ Items.name 대신 $ Items.fullname을 출력하지 않고 실제로 원하는 항목이 아닌 $ Items를 출력합니다. 제발 도와주세요. –

0

출력을 텍스트로 구문 분석 할 필요가 없습니다. 사용되지 않습니다.

+0

이것이 작동하지 않습니다. 나에게 오류가 발생합니다 : 매개 변수 선언은 쉼표로 구분 된 변수 이름 목록이며 선택적 이니셜 라이저 표현식이 있습니다. 라인 : 1 char : 16 –

관련 문제