2017-12-06 20 views
0

다음과 같은 날짜의 이름을 가진 미리 정의 된 위치에 파일을 보관하는 데 WinRAR 명령 줄을 사용하고 있습니다. 20171206.rar 명령을 다시 실행하면 RAR 파일을 바꾸고 업데이트하지 않을 수 없습니다. WinRAR 커맨드 라인 스위치 목록을 살펴 보았지만 원하는 결과를 얻지 못했습니다.아카이브에 파일 및 폴더를 추가 할 때 기존 .rar 아카이브를 덮어 쓰는 방법은 무엇입니까?

모든 의견을 환영합니다.

답변

0

WinRAR에는 파일 및 폴더를 압축 할 때 기존 압축 파일을 무시하는 명령이나 스위치가 없습니다. 알고있는 모든 압축 도구와 유사합니다.

WinRAR과는 마침내 자신을 아카이브 파일에 대한 삭제 모든 파일을 포함하지 않는과 아카이브에있는 파일을 삭제하는 명령 D 있습니다. 하지만 WinRAR 명령을 d과 함께 사용하여 동일한 이름의 새 아카이브 파일을 만들기 전에 보관 파일을 삭제하는 것은 바람직하지 않다고 생각합니다.

소스 파일을 저장하는 데 스위치 -agYYYY-MM-DD_NN 스위치를 사용하면 백업을 위해 하루에 여러 개의 개별 아카이브를 만들 수 있습니다. WinRARNN (2017-12-06_01.rar, 2017-12-06_02.rar, ..., 2017-12-07_01.rar ...) 등의 이유로 증가 날짜가 증가 된 파일 이름에 현재 날짜가 YYYY-MM-DD 인 RAR 보관 파일을 자동으로 만듭니다. 더 이상 필요하지 않은 백업 아카이브를 수동으로 삭제합니다.

@echo off 
if not exist "20??????.rar" goto CreateDayArchive 
for /F "tokens=2 delims==." %%I in ('%SystemRoot%\System32\wbem\wmic.exe OS GET LocalDateTime /VALUE') do set "FileNameDate=%%I" 
del "%FileNameDate:~0,8%.rar" 2>nul 
set "FileNameDate=" 

:CreateDayArchive 
rem The RAR/WinRAR command line to create the new archive with current date. 

에 대한 명령 줄 형식으로 %date% produces different result in batch file when run from Scheduled Tasks in Server 2016에서 예를 들어 자세히 설명되어 독립적 인 YYYYMMDD 지역을 현재 날짜를 얻을 : 귀하의 작업에 대한

나는 다음과 같은 배치 파일을 제안한다.

DATE 환경 변수의 사용은 WMIC 명령을 사용하는 것보다 훨씬 빠릅니다. 그러나 환경 변수 DATE의 날짜 형식은 Windows 지역 및 언어 설정에 따라 다릅니다. 뿐만 아니라

@echo off 
del "%DATE:~-4%%DATE:~-7,2%%DATE:~-10,2%.rar" 2>nul 
rem The RAR/WinRAR command line to create the new archive with current date. 

이 코드는 대신 .의 구분자로 / 또는 -로도 작동합니다 : 내 컴퓨터에서 환경 변수 DATE의 날짜 값은 가능한이 훨씬 더 빨리 배치 파일을 사용할 수있게 형식 DD.MM.YYYY 항상 년, 월, 일이 오른쪽에서 DATE 문자열로 대체되기 때문에 시작 부분에 약어가있는 요일이있는 날짜 문자열입니다. 따라서 Wed, 06/12/2017 (6 th December 2017)과 같은 날짜도이 빠른 배치 코드 변형에 의해 올바르게 처리됩니다.

DATE의 지역별 날짜 형식이 MM/DD/YYYY 인 경우 시작일에 평일을 생략하거나 생략 한 경우 다음 일괄 처리 파일을 사용하여 일 및 월 대체를 사용할 수 있습니다.도 참조 원하는 날짜 형식으로 지역에 의존 DATE 값을 포맷하는 날짜 문자열 대체에 대한 자세한 설명은 What does %date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2% mean?에 대답

@echo off 
del "%DATE:~-4%%DATE:~-10,2%%DATE:~-7,2%.rar" 2>nul 
rem The RAR/WinRAR command line to create the new archive with current date. 

.

사용 된 명령과 그 작동 방법을 이해하려면 명령 프롬프트 창을 열고 다음 명령을 실행하고 각 명령에 대해 표시된 모든 도움말 페이지를 모두주의 깊게 읽어야합니다.

  • del /?echo /?
  • for /?
  • goto /?
  • if /?
  • rem /?
  • set /?
  • wmic /?
  • wmic os /?
  • wmic os get /?
  • wmic os get localdatetime /? 리디렉션하여 STDERR를 처리 할 수 ​​DEL에 의해 오류 메시지 출력을 억제하기 위해 여기에 사용 2>nul에 대한 설명

읽기 또한 Microsoft 문서에 대한 Using Command Redirection Operators을 it to device NUL curr의 파일 이름에 현재 날짜가있는 RAR 보관 파일이없는 경우 ent 디렉토리.