반응형

오늘은 지난 시간에 이어서 파워쉘 스크립트를 이용하여 특정 폴더 내에 있는 영상 파일들을

한꺼번에 바꿀 수 있는 자동화 된 스크립트를 공유드리겠습니다.

 

방법은 먼저 특정 폴더를 지정하여 동영상 파일들을 복사하여 넣어줍니다.

저는 바탕화면 하위에 있는 "1212"라는 폴더에 동영상 파일들을 넣었습니다.

파워쉘 스크립트 실행 전 파일명

 

파일들을 다 넣었으면 스크립트를 실행합니다.

참고로 파워쉘 스크립트와 ExifTool(exe 실행파일은) 바탕화면에 위치 시키고 스크립트를 실행했습니다.

 

ExifTool에 대한 전반적인 내용은 이전 포스팅에서 참고하시면 됩니다.

https://betterinvesting.tistory.com/291

 

[PowerShell] 파워쉘을 이용하여 동영상 파일 이름을 생성시간으로 변경하는 방법 - 1

가족들의 사진과 동영상을 백업하던 중 사진과 동영상 파일들 이름이 뒤죽박죽이여서 날짜별로 정리가 필요했습니다. 이미지 사진 파일은 PYTHON 프로그램을 만들어서 이름을 변경

betterinvesting.tistory.com

 

스크립트를 실행하면 스크립트에 지정된 폴더(ex, 1212) 하위에 있는 모든 동영상 파일에 생성날짜를 읽어들여서

기존 파일 이름.MOV -> 생성날짜_시간.MOV 으로 변경하여 줍니다.

파워쉘 스크립트 실행 화면

 

스크립트가 다 실행되면 아래 사진과 같이

파일 이름들이 생성날짜_생성시간.<확장자> 형식으로 변경되게 됩니다.

파워쉘 스크립트 실행 후 파일명

 

 

자동화된 스크립트는 아래에서 공유드리겠습니다.

이 스크립트는 제가 실제로 실행하였던 스크립트이니 상황에 맞게 수정하여서 사용하시면 됩니다.

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
28
29
30
31
# 영상파일 경로로 이동
cd C:\Users\nick\Desktop\1212
 
# 현재 경로 확보
$pwd = Get-Location | foreach {$_.Path}
 
# 파일명 리스트 확보
$movie_list = Get-ChildItem . *.M* | foreach {$_.Name}
 
foreach($movie in $movie_list){
    echo $movie
    $file_abs = $pwd+'\'+$movie
    
    # 파일 확장자
    $ext = [System.IO.Path]::GetExtension($movie)
    
    # 파일 생성일 확보
    $c_date = C:\Users\nick\PycharmProjects\picture_name_collector\exiftool.exe $file_abs | findstr /R ^Creation
  
    
    # 파일명 수정
    $name = $c_date.Substring(34,19).replace(':', '').replace(' ','_')
    
    # 파일 이름 수정 부분
    $new_name = $name+$ext
    echo $new_name
    Rename-Item -Path $file_abs -NewName $new_name
}
 
# 이전 경로로 이동
cd ..\
cs

 

내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!

caul334@gmail.com

 

 

반응형
반응형

 

가족들의 사진과 동영상을 백업하던 중 사진과 동영상 파일들 이름이 뒤죽박죽이여서 날짜별로 정리가 필요했습니다.

이미지 사진 파일은 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

 

 

반응형

+ Recent posts