가족들의 사진과 동영상을 백업하던 중 사진과 동영상 파일들 이름이 뒤죽박죽이여서 날짜별로 정리가 필요했습니다.
이미지 사진 파일은 PYTHON 프로그램을 만들어서 이름을 변경했는데 문제는 동영상 파일의 이름을 수정하는 것이였습니다.
* 참고로 Python 프로그램을 이용하여 사진 이미지 파일의 이름을 수정하는 방법은 다음 포스팅에서 따로 다루도록 하겠습니다.
동영상 파일은 Python 프로그램을 통해서 해결할 수 없기 때문에
윈도우 PowerShell 스크립트를 통해 해결했습니다.
이제 단계별로 파일이름을 자동으로 수정하는 방법을 설명드리겠습니다.
Step 1. EXIFTool 다운로드
동영상 파일의 생성날짜를 알기 위해서는 동영상 파일의 Meta 데이터에 접근해야 하는데
그 정보를 얻기 위해선 exiftool 프로그램을 통해 정보를 확인할 수 있습니다.
아래 다운로드 경로에 exiftool 프로그램을 다운받습니다.
다운로드URL : https://exiftool.org/
Step 2. PowerShell을 통해 생성날짜 필터링
다운을 받고 난 후, 아래 사진과 같이 명령어를 입력하면 동영상의 자세한 정보를 확인할 수 있습니다.
명령어: exiftool.exe <동영상파일>
저희가 관심있는 것은 동영상 파일의 생성 시간이기 때문에 동영상 파일의 생성 시간만 필터링 하여 보겠습니다.
필터링 명령어 뒤에 " | findstr /R ^Creation" 를 입력하면 해당 동영상 파일의 생성시간만 추출할 수 있습니다.
이 생성시간을 변수로 입력받아 문자열 파싱(Parsing)을 하면 원하는 형식으로 파일명을 지정할 수 있습니다.
여기서 부터 어려운 얘기가 시작되죠?
간략하게 아래 스크립트를 참고하여 복사 붙여넣기 하면 됩니다.
파일 이름 변경을 위한 PowerShell 스크립트
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# 영상 파일 경로로 이동
cd C:\Users\nick\Desktop\2020_01
# 현재 경로 확보
$pwd = Get-Location | foreach {$_.Path}
# 파일명 확보
$movie = "IMG_8638.MOV"
# 파일 절대 경로
$file_abs = $pwd+'\'+$movie
# 파일 확장자
$ext = [System.IO.Path]::GetExtension($movie)
# 파일 생성일 확보
$c_date = C:\Users\nick\Desktop\exiftool.exe $file_abs | findstr /R ^Creation
# 파일명 형식 지정
$name = $c_date.Substring(34,19).replace(':', '').replace(' ','_')
# 파일 이름 수정 부분
$new_name = $name+$ext
Rename-Item -Path $file_abs -NewName $new_name
# 바뀐 파일 출력
echo $new_name
|
cs |
위 스크립트를 실행해보겠습니다.
Step 3. 스크립트 실행
먼저 스크립트를 실행하기 전에 파일명을 확인해 보면 IMG_8638.MOV 입니다.
위 공유해드린 스크립트를 실행해보겠습니다.
윈도우 파워쉘을 실행하여 위 스크립트를 입력합니다.
스크립트 실행 결과
다음과 같이 파일이름이 "<생성날짜>_<생성시간>.MOV" 형식으로 변경되었습니다.
다음 포스팅에서는 이 스크립트를 이용하여 특정 폴더 내에 있는 영상 파일들을
한꺼번에 바꿀 수 있는 자동화 된 스크립트를 공유드리겠습니다.
내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!
caul334@gmail.com
'IT > PowerShell' 카테고리의 다른 글
[PowerShell] 파워쉘을 이용하여 동영상 파일 이름을 생성시간으로 변경하는 방법 - 2 (8) | 2022.04.02 |
---|---|
[Power Shell] 파워쉘 스크립트(.ps1) 실행하는 방법 (7) | 2022.03.14 |