Lion에서 파일 생성 날짜를 변경하는 방법을 알려주십시오. touch-t 명령이 있음을 알고 있지만 Lion에서는 작동하지 않습니다. 몇몇 사람들은 다른 방법을 언급했지만, “비전문가 언어가 아닌”코더 “언어로 해결책을 작성했다고 생각합니다. 누군가가 평신도가 실행할 수있는 방식으로 대답 할 수 있을까요?
도움을 주셔서 감사합니다.
댓글
- " 코더 " 다른 사람이 작성한 설명은 아마도 " touch "에 대한 참조 일 것입니다. 당신은 ' 터미널을 열고 파일이있는 폴더로 이동 한 다음 touch 명령을 사용하여 '의 생성 날짜를 수정해야합니다.
- FWIW " touch-t "로 올바른 행에 있지만 h와-사이에 공백이 있습니다. '의 " 터치 -t "
답변
touch -t
는 일반적으로 수정 및 액세스 시간 만 변경합니다. 대상 시간이 원래 생성 시간 이전 인 경우에만 생성 시간이 변경됩니다.
touch -t 199912312359 file.txt touch -t $(date -jf %FT%T 1999-12-31T23:59:59 +%Y%m%d%H%M%S) file.txt
SetFile -d
는 항상 변경됩니다. 생성 시간입니다.
SetFile -d "12/31/1999 23:59:59" file.txt SetFile -d "$(GetFileInfo -m test.txt)" file.txt
SetFile은 개발자로부터 다운로드 할 수있는 명령 줄 도구 패키지의 일부입니다. .apple.com / downloads 또는 Xcode의 환경 설정에서.
댓글
- -m (수정 시간 변경)
- 요세미티에서 터치는
+%Y%m%d%H%M.%S
형식을 사용하도록 요구했습니다 (분과 초 사이의 점에주의) - iv id라는 함수를 작성했습니다.
fish
의 = “72ac3a5f83″>
: SetFile -d (GetFileInfo -m $argv[1]) $argv[2]
답변
Mac OS X에는 파일과 관련된 4 개의 다른 타임 스탬프가있는 것으로 보입니다. 이러한 타임 스탬프 항상 서로 독립적으로 업데이트되는 것은 아니지만, 약간의주의를 기울이고 touch
, SetFile
및 chown
를 사용하여 수동 제어 (또는 chmod
). 이를 확인하려면 명령 프롬프트 #
에서 새 파일을 실험하고 생성 해 보겠습니다.
# touch a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "May 19 00:11:14 2015" "May 19 00:11:14 2015" "May 19 00:11:14 2015" "May 19 00:11:14 2015" 4096 0 0 a.txt
나열된 첫 번째 날짜는 마지막 액세스 시간 (atime
), 두 번째 날짜는 마지막 수정 시간 (mtime
), 세 번째 날짜는 마지막 상태 변경 ( ctime
), 네 번째는 파일 생성 시간입니다 (출생, Btime
), man lstat
.
액세스 시간 (atime
)을 지정된 시간으로 수정하려면 다음을 사용하십시오.
# touch -a -t201412312359.59 a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "May 19 00:11:14 2015" "May 19 00:11:46 2015" "May 19 00:11:14 2015" 4096 0 0 a.txt
수정 시간 (mtime
) 및 파일 생성 시간 (Btime
)을 지정된 시간으로 수정하려면 사용 :
# touch -m -t201312312359.59 a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:12:19 2015" "Dec 31 23:59:59 2013" 4096 0 0 a.txt
분명히 이것은 또한 마지막 상태 변경 시간 (ctime
)을 다음으로 자동 업데이트합니다. 현재 시스템 시간!
생성 / 생성 시간 (Btime
) 만 지정된 시간으로 수정하려면 (as pr 위의 다른 사용자에 의해 제 안됨) :
# SetFile -d "12/31/1999 23:59:59" a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:12:19 2015" "Dec 31 23:59:59 1999" 4096 0 0 a.txt
마지막 상태 변경 (ctime
) 시간 만 현재 시스템 시간 사용 예 :
# chown username a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:13:45 2015" "Dec 31 23:59:59 1999" 4096 0 0 a.txt
여기서 username
는 파일의 소유자입니다 (stat
또는 ls -l
). 이것은 파일의 소유권을 변경하지 않지만 파일의 inode에 액세스하고이를 마지막 상태 변경 시간으로 기록합니다. 안타깝게도 컴퓨터의 시간을 변경하는 것 외에는 여기에서 명시 적으로 시간을 지정할 수 없습니다 …
요약 적으로 네 개의 타임 스탬프를 독립적으로 변경할 수 있으려면 하나를 사용할 수 있습니다. 마지막 3 개 주문) :
-
touch -a -tCCYYMMDDHH.SS <file>
-
touch -m -tCCYYMMDDHH.SS <file>
-
SetFile -d "MM/DD/CCYY HH:MM:SS" <file>
- [시스템 날짜 설정]
chown username <file>
[일반 시스템 날짜로 되돌리기]
(물론, 시스템 날짜 재설정은 위험이없는 작업이 아닐 수 있습니다. 경고를 받았습니다.)
댓글
- +1이 매우 상세한 답변에 감사드립니다. 이로 인해 모든 문제가 해결되었습니다.
- GoPro가 자동으로 재설정되어 날짜가 잘못된 사진이 표시되는 경우가 있습니다. 이 사진을 Mac으로 전송하고이 지침에 따라 날짜를 수정하지만이 사진을 iPhone으로 전송할 때 여전히 날짜가 잘못되었습니다. 내가 '이 문제를 해결하는 유일한 방법은 iOS EXIF 편집기를 사용하는 것입니다. 어딘가에 또 다른 숨겨진 날짜 속성이 있습니까?
- @Bowen : 사진에서 언급하는 날짜는 사진 파일 형식 자체의 데이터의 일부입니다. 위에서 언급 한 파일의 생성 날짜, 수정 날짜 등은 운영 체제의 파일 시스템에서 관리하는 파일이며 파일에 포함 된 데이터와 별도로 유지 및 업데이트됩니다.
Answer
명령 줄 touch
명령은 Lion에서 작동하지만 방법에 대한 약간의 배경 지식이 필요합니다. 사용하세요.
먼저 입력해야합니다. 창에서 그래픽으로 작동하는 유틸리티가 아닙니다. 입력하는 위치는 터미널 이라는 앱입니다. . 유틸리티 폴더에서 찾을 수 있거나 Spotlight 검색을 사용하여 찾을 수 있습니다.
시작하면 명령을 입력 할 수있는 명령 줄 창이 나타납니다. 입력하는 이유는 없습니다. ” 즉, 코딩과 관련이 있지만 “구식”OS 명령을 처음 접하는 사람에게는 약간 겁이 날 수 있습니다.
따라서 명령을 touch 라고합니다. 명령 후에 다양한 매개 변수를 전달할 수 있습니다. 파일 이름입니다. 다음을 입력하면 파일의 마지막 수정 날짜가 현재 시간으로 설정됩니다.
touch filename
물론 파일을 먼저 찾아야 할 수 있습니다. 그것에 도달하려면 추가 명령이 필요합니다. cd 또는 디렉토리 변경 명령은 여기에서 도움이됩니다.
cd ~/Desktop/files/PDFs touch filename
또는 간단히 전체 명령의 일부로 파일 경로 :
touch ~/Desktop/files/PDFs/filename
터치 명령의 고급 사용법을 사용하면 설정하려는 시간을 지정할 수 있습니다. 실행 시간, 수정 시간 대신 액세스를 설정합니다. 이것이 -t 와 같은 매개 변수 및 기타 기능입니다. 일부는 시간을 다른 파일의 시간으로 설정하고 일부는 시간을 뒤로 이동하거나 X만큼 앞으로 설정합니다 (자세한 내용은 여기를 참조 ). , 예 :
touch -d "1 May 2005 10:22" file8
다음은 이 페이지의 입니다. 유용한 참조 및 명령 줄의 파일 위치가 불편한 사용자를위한 몇 가지 팁이 포함 된 훌륭한 예
이렇게하면 파일이 수정 된 날짜와 만든 날짜 속성이 모두 변경됩니다. 입력 한 날짜. 파일이 생성되기 전에는 수정할 수 없기 때문입니다. 설정 한 날짜 이전에 생성하면 수정 된 날짜 만 변경됩니다.
파일의 생성 날짜 속성을 변경하려면 어떻게해야합니까?
터미널 애플리케이션 (
/Applications/Utilities/Terminal.app
)을 열거 나 iTerm을 선호하는 경우유형
YYYYMMDDhhmm
:touch -t 201212211111
형식으로 날짜를 삽입하여 터미널에 입력합니다 (Enter / return을 누르지 않음).
Finder 창을 열고 수정하려는 파일을 찾아 터미널 창에 끌어다 놓으면 명령 줄 용어를 사용하여 파일 위치를 삽입합니다. 이 시점에서 터미널에 입력해야하는 항목의 예는 다음과 같습니다.
touch -t 201212211111 /Volumes/Mac\ HD/Pictures/somefile.jpg
201212211111은 위의 예에서 “December 21, 2012 11:11 AM <을 나타냅니다. / p>
댓글
- 하지만
touch
는 파일 생성 날짜가 아닌 수정 날짜를 수정합니다. - 둘 다 수행 할 수 있습니다. 매개 변수에 따라 다릅니다.
- 위에서 제공 한 매개 변수와 함께
touch
를 사용하면 수정 사항이 변경되었지만 테스트 파일의 생성 날짜는 변경되지 않았습니다. - @Daniel 아마도 답을 얻었지만 완전성을 위해 인수에 따라 생성 날짜를
touch
수정 합니다. ' 파일 생성 날짜 이전의 수정 날짜를 제공하면 파일이 생성되기 전에 수정할 수 없으므로 생성 날짜가 새 수정 날짜 값으로 자동 변경됩니다. . - Sierra에서이 작업을 시도했지만 터치해도
creation
날짜가 변경되지 않습니다 .access
및modified
날짜를 " 과거의 날짜 "이지만 생성 일은 수정하지 않았습니다. 터치에 대한 매뉴얼 페이지를 확인하십시오. 작성 날짜는 언급되어 있지 않습니다. 파일 시스템 : Mac OS 확장 (저널링, 암호화).SetFile -d "$(GetFileInfo -m test.txt)" file.txt
사용이 완벽하게 작동했습니다.
답변
여기에 유용한 힌트 , 특히 마지막 항목 (Lauri Ranta에서 8 월 21 일 15:21에 답변). Perfekt!
이제 간단한 Automator Workflow를 사용하여 여러 파일을 일괄 변경합니다.
- 선택한 Finder 항목 가져 오기
- 셸 스크립트 실행, “입력 통과 : 인수로 “
셸 스크립트는 다음과 같습니다.
for f in "$@" do SetFile -d "$(GetFileInfo -m "$f")" "$f" done
매력처럼 작동합니다.
답변
내가 찾은 가장 쉬운 방법은 새 폴더를 만들고 회색으로 표시된 폴더의 모든 하위 폴더를 복사하는 것이 었습니다. 새 폴더에 넣으면 새 폴더가 회색으로 표시되지 않습니다. 파인더에서도 가능합니다.