나는 요일을 삽입해야하는 일련의 로그 파일을 가지고있다. 예를 들어, LOG-20141106-0000.TXT는 LOG-20141106-THR-0000.TXT가됩니다.Powershell에서 파일 이름의 날짜를 구문 분석하고 어떻게 처리합니까?
나는 내가 생각하는 것뿐만 아니라 내가 무엇을하고 있는지 알지 못한다는 것을 확신하는 this question을 발견했다. PowerShell을 사용한 이후로 꽤 오래되었습니다.
지금까지 파일의 이름을 바꾸려고했지만 날짜를 가져올 조각을 찾고 있습니다. 요일을 보간하고 적절하게 삽입 할 수 있습니다. 시작 인덱스는 문자열의 길이를 초과 할 수 없습니다 없다는 오류를 수신
$file = Get-ChildItem $txtpath |
Sort-Object { [DateTime]::ParseExact($_.BaseName.Substring(6,8),'yyyyMMdd',$null) } |
Select-Object -Last 1
:
$txtPath = "h:\logs" #source files
$txtPath2 = "h:\logs\new" #renamed files
Get-ChildItem $txtPath | foreach {
Move-Item $txtPath $txtPath2 ($_.Name -replace 'LOG','CLOG')
}
나는이를 사용하여 날짜를 잡아 당겨 힘든 시간을 보내고 있습니다. CLOG-20141031-9999.TXT라는 다섯 개의 파일이 있는데, 여기서 9999는 각 파일의 일련 번호입니다.
내가 뭘 잘못하고 있니?