배치 스크립트 - 파일을 \ % date % \ % time % \

  • 해결책
  • 노트

데이터베이스 백업을 생성하고 날짜별로 이름이 지정된 폴더와 시간별로 하위 폴더로 이동하는 간단한 배치 스크립트를 만들려고했습니다. 이것은 내가 지금까지 가지고있는 것이다 :

---

 @echo off

@echo 서버 1 백업

mysqldump -A -Q -R -c -e -lock-tables = FALSE -uXXXX -pXXXX -hX.XX1> c : \ backup \ 01.sql

@echo 서버 2 백업

mysqldump -A -Q -R -c -e -lock-tables = FALSE -uXXXX -pXXXX -hX.XX2> c : \ backup \ 02.sql

@echo 백업 서버 3

mysqldump -A -Q -R -c -e -lock-tables = FALSE-uXXXX -pXXXX -hX.XX3> c : \ backup \ 03.sql

set folderdate = % date : ~ 7, 2 % - % date : ~ 4, 2 % - % date : ~ 10, 4 %

mkdir c : \ backup \ % folderdate %

set foldertime = % 시간 : ~ 0.2 % - % 시간 : ~ 3, 2 %

mkdir c : \ backup \ % folderdate % \ % foldertime %

이동 c : \ backup \ *. sql c : \ backup \ % folderdate % \ % foldertime % \

---

나는 이것을 오후 8시에서 12 시간마다 달리기로 예정했다. 그러나 8PM에서 실행되는 배치는 성공하지만 8AM 파일은 계속 움직이지 않습니다. 사실 AM의 'foldertime'폴더는 'folderdate'폴더 외부에 생성되고 사이트는 생성되었지만 이동되지 않은 파일 옆에 생성됩니다.

그리고 8PM에서는 모든 것이 매력처럼 작동합니다. 아마 XP는 24 시간 안에 이름이기 때문에 이것은 24 시간을 사용하는 것과 관련이 있습니다. XP는 '수정 된'열에서 AM / PM을 사용합니다. 나는 이런 일이 일어나는 어떤 논리도 보지 못하지만 누군가가 올바른 방향으로 나를 가리킬 수 있기를 바랍니다.

해결책

배치 파일에 다음 행을 삽입하십시오.

 DD = % 날짜 : ~ 0.2 %

MM = % 날짜 설정 : ~ 3, 2 %

YY = % DATE : ~ 8, 2 %

YYYY = % DATE : ~ 6, 4 %

HH 설정 = % TIME : ~ 0.2 %

MN 설정 = % TIME : ~ 3, 2 %

이제 날짜가 지정된 폴더 이름을 만들려는 형식으로 문자열을 함께 묶을 수 있습니다 (예 :

폴더 설정 = % YYYY % - % MM % - % DD %

echo % FOLDER %는 이제 당신에게 2009-03-10을 줄 것입니다

이처럼 역순으로 사용하는 것이 좋습니다.

줄 끝의 공백 제거 SET YYYY = % DATE : ~ 10, 4 %

노트

Rob에게이 팁에 대한 포럼에 감사드립니다.
이전 기사 다음 기사

톱 팁