2016-08-18 7 views
2

메모리 카드에서 내 하드 디스크로 파일을 복구해야했습니다. 내 하드 디스크에서 복구 된 파일의 이름은 "yyyymmdd_hhmmss.mp4"형식이며 올바른 시간은 &입니다.Powershell - 파일의 날짜와 시간을 수정하여 파일 이름을 반영하십시오.

그러나 복구 된 파일의 날짜 수정 된 열은 "dd/mm/yyyy hh : mm"형식으로 표시됩니다 (영국에있는 것처럼 해당 속성을 볼 때 분명히 초가 표시됨) , 나는이 날짜 수정 우표를 그들의 파일 이름을 다시 한번 반영하기를 바란다. 나는 변수 날짜 & 시간을 추출하는 PowerShell 스크립트를 쓰기 시작했고, 이것은 내가 지금까지 한 일이다

foreach ($file in Get-ChildItem *.mp4) 
{ 
    $yy = $file.Name.substring(0,4) 
    $mm = $file.Name.substring(4,2) 
    $dd = $file.Name.substring(6,2) 
    $hh = $file.Name.substring(9,2) 
    $min = $file.Name.substring(11,2) 
    $ss = $file.Name.substring(13,2) 
} 

그러나, PS와 내 경험이를 반영하기 위해 수정 한 날짜 속성을 쓸 수 없습니다 파일 이름. 누군가 나를 도울 수 있습니까?

종류와 관련,

롭 휴즈.

답변

2

'수정 한 날짜'필드를 업데이트하기 위해 변경하려는 값의 범위는 .LastWriteTime입니다. 현재 코드로 변경하는 방법은 다음과 같습니다.

foreach ($file in Get-ChildItem *.mp4) 
    { 
    $yy = $file.Name.substring(0,4) 
    $mm = $file.Name.substring(4,2) 
    $dd = $file.Name.substring(6,2) 
    $hh = $file.Name.substring(9,2) 
    $min = $file.Name.substring(11,2) 
    $ss = $file.Name.substring(13,2) 

    #Create a Date Time object based on the file name 
    $date = get-date -Year $YY -Month $MM -Day $DD -Hour $hh -Minute $min -Second $SS 

    #Echo out to screen 
    Write-Host "Setting $($file.BaseName) dateModified as $($Date.Date)" 
    $file.LastWriteTime = $Date 
    } 

이 작업을 수행하는 데 가장 쉬운 방법은 DateTime 개체를 만드는 것입니다. 당신에게 큰 소품이 좋은 파일 이름에서 좋은 비트를 sussing 위해, 잘 했어.

+0

많은 감사 FoxDeploy. 당신은 분명히 저에게 답을 생각할 무언가를 주셨습니다. 롭. – user3791201

5

"수정 한 날짜"속성을 설정하려면 $file.LastWriteTime 속성을 업데이트하십시오. [datetime]::ParseExact()을 사용하여 단일 작업에서 파일 이름의 날짜와 시간을 구문 분석 할 수 있습니다.

foreach($file in Get-ChildItem -Filter *.mp4) 
{ 
    $file.LastWriteTime = [datetime]::ParseExact($file.BaseName, 'yyyyMMdd_HHmmss', $null) 
} 
+0

빠른 답장을 보내 주셔서 감사합니다, Mathias. 미리 몇 가지 테스트 파일에 코드를 테스트 해 보겠습니다. 롭. – user3791201

+0

테스트 디렉토리에 한 줌을 복사하여 거기서 실행하십시오 :-) 부적절한 형식의 파일 이름 때문에'ParseExact()'호출이 실패하면 아무 일도 일어나지 않을 것입니다.하지만 틀린 (그러나 여전히 유효한) 날짜 형식을 지정했다면 (예 : yyyyddMM 및 yyyyMMdd) 잘못된 결과가 생성됩니다. –

관련 문제