2016-07-14 2 views
0

나는 수백 개의 파일 이름을 바꿉니다.이 파일은 모두 항목 ID 및 여러 텍스트로 구성됩니다.Powershell에서 파일 이름 바꾸기 "_"다음에 오는 모든 파일 삭제

BBAT300.xls BBAT400 : 결과가이 그래서 예를 들어 ...

BBAT300_abcdefg.xls BBAT400_abcdefg.xls

나는, 밑줄 이르기까지 모든과에 밑줄 등을 삭제해야 .XLS

나는 발견 이전 코드의이 비트 ...

Get-ChildItem -Name -Filter *.xls | foreach {[Regex]::Match($_,"^[^_]*").Value} 

하고 appea rs 작동하도록하지만 실제로 파일 이름을 바꾸려면 가져올 수 없습니다. 내 스크립팅에 대한 지식은 거의 없으므로 쉽게 해결할 수 있습니다. 찾을 수없는 것 같습니다. Powershell은 powershell에서 결과를 보여 주지만 실제로는 파일의 이름을 바꾸지 않습니다.

답변

0

당신은 이름 바꾸기 항목 명령에 단지 파이프이 줄 수

Get-ChildItem -Filter *.txt | Foreach-Object -Process { 
    $NewName = [Regex]::Match($_.Name,"^[^_]*").Value + '.txt' 
    $_ | Rename-Item -NewName $NewName 
} 

편집 :이 일을 어떤 위치

+1

을 지원하기 위해 변경! 감사! – Brian