Windows 배치를 사용하여 복사된 파일에 날짜-시간 스탬프 추가

Windows 배치를 사용하여 복사된 파일에 날짜-시간 스탬프 추가

간단할 줄 알았는데 생각보다 어려운 일인 것 같습니다.

타임스탬프를 추가하여 파일을 복사하여 붙여넣고 싶습니다. 다음 코드를 사용하여 타임스탬프를 얻습니다.

set hournum=%time:~0,2%

if %hournum% gtr 9 (set timeback=_%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%h%time:~3,2%m%time:~6,2%s) else (set timeback=_%date:~10,4%%date:~4,2%%date:~7,2%_0%time:~1,1%h%time:~3,2%m%time:~6,2%s)

Set FileAffected=%1
echo %FileAffected:~0,-1%%timeback%

이렇게 하면 파일이 다음 FILE.TXT과 같이 됩니다.FILE.TXT_2015-03-05_11h56m32s

하지만 난 분명히 그랬으면 좋겠어FILE_20150305_11h56m32s.TXT

파일 확장자는 확장자나 길이가 될 수 있습니다. 도움을 주셔서 감사합니다.

편집: FileAffected는 따옴표와 함께 전달되므로 ~0,-1로 제거했습니다.

내가 이렇게 하면 다음과 같은 사실을 발견했습니다.

FOR /f %%i IN (%FileAffected%) DO (
ECHO filename=%%~fi
ECHO fileextension=%%~xi
)

FileAffected를 에코하면 공백이 포함된 전체 경로 이름을 얻게 됩니다. 그러나 FOR /F 명령을 사용하면 파일 이름에서 공백 뒤의 모든 내용이 잘립니다. "IN" 명령에서 "%FileAffected" 변수에 추가 따옴표를 추가해도 여전히 문제가 해결되지 않으며 fi 또는 xi 주위에 따옴표를 추가하지도 않습니다.

답변1

파일 이름에 날짜와 시간을 접미사로 추가하려면 어떻게 해야 합니까?

다음 배치 파일을 사용하십시오.

@echo off
set hournum=%time:~0,2%
if %hournum% gtr 9 (set timeback=_%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%h%time:~3,2%m%time:~6,2%s) else (set timeback=_%date:~10,4%%date:~4,2%%date:~7,2%_0%time:~1,1%h%time:~3,2%m%time:~6,2%s)
echo %~n1%timeback%%~x1

산출:

F:\test>test file.txt
file_3/01_18h07m40s.txt

예를 들어 파일 이름에 공백이 포함된 경우 다음 file with space.txt을 수행해야 합니다.부르다"다음과 같이 파일 이름 주위에 s 가 있는 배치 파일 :

F:\test>test "file with space.txt"
file with space_3/01_18h07m56s.txt

매개변수 확장

%~n1%1을(를) 파일 확장자 C:\utils\MyFile이 없는 파일 이름으로 확장하거나 경로만 있는 경우(뒤에 백슬래시 없음) 해당 경로의 마지막 폴더를 확장합니다.

%~x1%1을(를) 파일 확장자로만 확장 - .txt

원천명령줄 인수(Parameters)


"큰따옴표 사용

단일 매개변수에 공백이 포함된 경우에도 "따옴표"로 묶어 하나의 항목으로 전달할 수 있습니다. 이는 긴 파일 이름에 적합합니다.

매개변수를 사용하여 다음과 같은 파일 이름을 제공하는 경우:

MyBatch.cmd "C:\Program Files\My Data File.txt"

이 매개변수는 다음과 같습니다.

%0 = 마이배치

%1 = "C:\Program Files\내 데이터 파일.txt"

원천구문: 이스케이프 문자, 구분 기호 및 따옴표


추가 자료

  • Windows CMD 명령줄의 AZ 인덱스- Windows cmd 라인과 관련된 모든 것에 대한 훌륭한 참고 자료입니다.
  • 매개변수- 명령줄 인수(또는 매개변수)는 배치 스크립트에 전달되는 모든 값입니다.
  • 통사론- 이스케이프 문자, 구분 기호 및 따옴표.

관련 정보