FileSetTime

파일이나 폴더의 날짜시간 도장을 변경합니다. 와일드카드를 지원합니다.

FileSetTime [, YYYYMMDDHH24MISS, FilePattern, WhichTime, OperateOnFolders?, Recurse?]
선택

매개변수

YYYYMMDDHH24MISS

비어 있거나 생략하면, 현재 시간이 기본값입니다. 그렇지 않으면, 연산에 사용할 시간을 지정하십시오 (형식에 관해서는 논평을 참조하십시오). 1601년 미만은 지원하지 않습니다.

이 매개변수는 표현식입니다. 결과적으로, 여러 변수를 결합해서 하나의 시간도장을 형성할 필요가 있다면, 퍼센트 사인 대신에 점 연산자를 사용해야 합니다. 예를 들어: FileSetTime, Year . Month . Day, C:\My File.txt.

FilePattern

파일이나 폴더의 이름. 또는 C:\Temp\*.tmp와 같은 와일드카드 패턴. FilePattern은 절대 경로를 지정하지 않으면 %A_WorkingDir%에 있다고 간주됩니다.

생략하면, 대신에 파일-회돌이 가장 안쪽에 싸인 현재 파일이 사용됩니다.

WhichTime
설정할 시간도장:
M = 수정 시간 (이 매개변수가 생략되거나 비어 있으면 기본값)
C = 생성 시간
A = 마지막 접근 시간
OperateOnFolders?

0 (기본값) 폴더는 처리되지 않습니다 (파일 전용).
1 와일드카드 패턴에 부합하는 모든 파일과 폴더를 처리합니다.
2 폴더만 처리합니다 (파일 불가).

주의: FilePattern이 와일드카드 패턴이 아니라 단일 폴더라면, 언제나 이 설정에 상관없이 처리됩니다.

이 매개변수는 표현식일 수 있습니다.

Recurse?

0 (기본값) 하위폴더 안으로 재귀하지 않습니다.
1 하위폴더 안으로 재귀해 들어가 거기에서 FilePattern에 부합하는 모든 파일과 폴더를 처리합니다. 그렇지만, 파일과 폴더에 259 문자가 넘는 완전 경로가 지정되어 있으면 마치 존재하지 않는 것처럼 무시합니다. 그런 파일은 거의 없습니다. 왜냐하면 보통 운영 체제가 그런 파일은 생성을 허용하지 않기 때문입니다.

이 매개변수는 표현식일 수 있습니다.

ErrorLevel

[v1.1.04+] 이 명령어는 실패시 예외를 던질 수 있습니다. 더 자세한 정보는 실행시간 에러를 참조하십시오.

ErrorLevel은 변경에 실패한 파일의 개수가 설정되고 그렇지 않으면 0이 설정됩니다. 지정된 시간도장이 유효하지 않으면, 또는 FilePattern이 빈 값으로 결정되면, ErrorLevel은 1이 설정됩니다.

파일이 발견되면, A_LastError는 0 (영)이 설정됩니다. 또는 마지막 실패후 즉시 운영 체제의 GetLastError() 함수의 결과가 설정됩니다. 그렇지 않으면 A_LastError에는 파일이 발견되지 않은 이유를 나타내는 에러 코드가 담깁니다.

논평

파일의 마지막 접근 시간은 NTFS 불륨에 비해 FAT16 & FAT32 볼륨에서는 정확하지 않을 수 있습니다.

YYYYMMDDHH24MISS 형식의 요소들은 다음과 같습니다:

YYYY 4-자리 해
MM 2-자리 달 (01-12)
DD 달의 2-자리 날 (01-31)
HH24 24-시간 형식의 2-자리 시각(00-23). 예를 들어, 09는 오전 9시이고 21은 오후 9시.
MI 2-자리 분 (00-59)
SS 2-자리 초 (00-59)

YYYYMMDDHH24MISS에 대하여 부분적으로 문자열이 주어지면 (예, 200403), 생략된 나머지 요소들은 다음의 기본 값으로 체워집니다:

MM: Month 01
DD: Day 01
HH24: Hour 00
MI: Minute 00
SS: Second 00

내장 변수 A_Now에 현지 지역 시각이 위의 형식으로 담겨 있습니다. 비슷하게, A_NowUTC에는 현재 표준시(Coordinated Universal Time)가 담겨 있습니다.

주의: 날짜-시간 값은 비교하고 더하고 뺄 수 있습니다. EnvAddEnvSub를 사용하면 됩니다. 또, 시간을 비교할 때는 보다 크다와 보다 작다를 사용하지 않는 것이 좋습니다. 왜냐하면 둘 모두 문자열 길이가 같기 때문입니다. 숫자로 비교해야 합니다; 예를 들어, 20040201는 언제나 200401010533보다 숫치상 작습니다 (그러나 년대기 상으로는 더 큽니다). 그래서 대신에 EnvSub를 사용하여 둘 사이의 시간의 양이 음수인지 양수인지 알아내십시오.

관련 항목

FileGetTime, FileGetAttrib, FileSetAttrib, FileGetSize, FileGetVersion, FormatTime, File-loop, EnvAdd, EnvSub

예제

; 부합하는 모든 파일에 대하여 수정 시간을 현재 시간으로 설정합니다:
FileSetTime, , C:\temp\*.txt

; 수정 날짜를 설정합니다 (시간은 자정입니다):
FileSetTime, 20040122, C:\My Documents\test.doc

; 생성 시간을 설정합니다. 시간은 4:55pm으로 설정됩니다:
FileSetTime, 200401221655, C:\My Documents\test.doc, C

; 패턴에 부합하는 모든 파일의 변경-날짜를 변경합니다.
; 마지막 매개 변수 때문에 부합하는 폴더도 모두 변경됩니다:
FileSetTime, 20040122165500, C:\Temp\*.*, M, 1
선택 | 내려받기