PC & OS/Mac tips

맥에서 파일 날짜 일괄 변경하기

Marshmallow. 2024. 6. 7.
728x90
반응형

맥에서 원하는 파일을 해당하는 날짜로 변경하는 방법이 있는데
간단하게 변경하는 방법을 알아보겠습니다







시작하기 앞서 터미널을 사용하는 작업이라 문제가 생길 수도 있습니다
꼭 해당 파일을 복사하여 본사본을 사용하시길 바라며 이에 대해 문제가 생겨도 책임지지 않습니다



개별 날짜 변경



터미널을 먼저 실행을 합니다






touch -mt 201001111111



위에 코드를 복사하여 따로 원하시는 날짜로 yyyy-mm-dd-hh-mm-ss 이렇게 만드시면 됩니다
예시) 20250101123511








파일은 드래그하셔서 바로 옮겨주시면 모두 적용이 됩니다











위에 보이는 사진은 한글 사용 때문에 글자가 깨져서 보이지만 무시하시고 엔터를 눌러주시면 완료가 됩니다
주의하실 점이라면 띄어쓰기가 필요합니다


touch -mt 201001111111V파일로 해주셔야 됩니다 











이렇게 해서 생성일이 변경된 걸 확인할 수 있습니다







하위폴더 날짜 변경




맥에서 파일 경로 확인하는 방법 (tistory.com)

 

맥에서 파일 경로 확인하는 방법

맥을 사용하다 보면 터미널을 사용해야 되는 일이 자주 생기게 되는데파일 경로가 필요한 경우 터미널을 통해 확인할 때가 있습니다하지만 이렇게 하지 말고 더 빠르고 쉽게 복사까지 가능한

marshmallow-space.tistory.com

 

이번에는 폴더 안에 수많은 파일들을 동시에 바꾸는 방법인데요
우선 파일 경로를 알기 위해서는 위에 남겨드린 링크를 타고 확인을 하시면 됩니다










1. Xcode Command Line Tools
xcode-select --install

먼저 Command Line Tools이라는 툴이 필요한데 설치가 되어있지 않은 분들은 설치를 해 주세요
xcode-select -p를 입력하면 /Library/Developer/CommandLineTools/ 경로가 나타납니다

xcode-select -p





2. 실행 권한 부여

chmod +x /Users/Name/Desktop/File/script.sh


chmod +x /Users/Name/Desktop/File/script.sh






3. 스크립트 실행

/Users/Name/Desktop/File/script.sh


/Users/Name/Desktop/File/script.sh




하위폴더 날짜변경



#!/bin/bash

TARGET_DATE="01/31/2024 16:15:00"
SOURCE_PATH="/Users/Name/Desktop/File"

# Check if source path exists
if [ ! -d "$SOURCE_PATH" ]; then
    echo "Source path does not exist: $SOURCE_PATH"
    exit 1
fi

# Convert target date to the appropriate format for touch and SetFile
TARGET_TOUCH_DATE=$(date -j -f "%m/%d/%Y %H:%M:%S" "$TARGET_DATE" +"%Y%m%d%H%M.%S")

# Update the main folder's date
echo "Updating main folder: $SOURCE_PATH"
if touch -mt "$TARGET_TOUCH_DATE" "$SOURCE_PATH"; then
    echo "Successfully updated folder date."
else
    echo "Failed to update folder date."
    exit 1
fi

if SetFile -d "$TARGET_DATE" "$SOURCE_PATH"; then
    echo "Successfully updated folder creation date."
else
    echo "Failed to update folder creation date."
    exit 1
fi

# Find and update files and directories, including the main folder
# Using find with -print0 and xargs with -0 to safely handle file names with spaces
find "$SOURCE_PATH" \( -type f -o -type d \) -print0 | xargs -0 -I {} bash -c '
    TARGET_TOUCH_DATE="$1"
    TARGET_DATE="$2"
    file="$3"
    echo "Updating: $file"
    
    # Update modification date
    if touch -mt "$TARGET_TOUCH_DATE" "$file"; then
        echo "Successfully updated date for $file."
    else
        echo "Failed to update date for $file."
    fi

    # Update creation date
    if SetFile -d "$TARGET_DATE" "$file"; then
        echo "Successfully updated creation date for $file."
    else
        echo "Failed to update creation date for $file."
    fi
' bash "$TARGET_TOUCH_DATE" "$TARGET_DATE" {}

echo "All dates updated successfully."




#!/bin/bash

TARGET_DATE="01/31/2024 16:15:00"
SOURCE_PATH="/Users/Name/Desktop/File"

크게 변경할 부분은 없으며, 날짜와 파일 경로를 수정해 주셔야 됩니다









메모 앱에 저장하여 사용하시면 편안하게 사용이 가능합니다




728x90
반응형

댓글

💲 추천 글