Windows에서 특정 시간보다 오래된 파일을 주기적으로 삭제하는 방법은 무엇입니까?

Windows에서 특정 시간보다 오래된 파일을 주기적으로 삭제하는 방법은 무엇입니까?

-mtime +1Windows(특히 Windows 7)에서 3시간마다 24시간이 지난 모든 폴더(예: Unix find's ) 의 모든 파일을 삭제하는 예약된 프로세스를 만들고 싶습니다 . 기본적으로 내 Unix cron에서 이를 구성하는 것과 Windows에서 동일합니다.

find $TRANSITDIR -mtime +1 -exec rm -rf {} \;

비록 Windows cron에 해당하는 것이 다음과 같다는 것을 발견한 것 같습니다.스케줄러, 저는 그 작업을 수행하는 Windows 명령을 모릅니다.

즉시 사용할 수 있는 스케줄러 스크립트를 갖고 있는 사람이 있나요?

답변1

다음 내용으로 배치 파일을 만듭니다.

REM Remove files older than 1 day
forfiles /p %1 /s /m * /c "cmd /c del @path /q" /d -1

그런 다음 Windows 작업 스케줄러를 엽니다. 프로그램을 실행하기 위한 기본 작업을 만들고 인수로 폴더 경로를 따옴표로 묶습니다.

명령어 설명

REM코멘트입니다.

forfiles각 파일에 대해 명령을 실행합니다. /p %1파일이 있는 경로를 정의합니다( %1스크립트에 전달된 첫 번째 명령줄 인수의 값을 의미). /s재귀적입니다(하위 폴더로 이동). /m *.*파일 이름 마스크입니다. /c "cmd /c del @path"실행할 명령을 지정했습니다. /d -11일보다 오래된 파일을 의미합니다.

이 경우 에서는 cmd /c del @pat /qh새 세션을 생성하고 del에서 실행(파일 삭제) 합니다 @path. 각 파일의 파일 경로는 에서 반복됩니다 forfiles. /q정숙 모드용이므로디렉토리 확인을 요청하지 않습니다.

테스트

del로 교체하세요 echo. 이렇게 하면 실제로 삭제하는 대신 삭제되었을 각 파일이 인쇄됩니다.

답변2

정확히 원하는 작업은 아니지만 창에 대해 이야기할 때 ccleaner의 자동 지우기를 고려할 가치가 있다고 말하고 싶습니다. Windows 컴퓨터의 tmp 파일을 찾고 정리하는 데 사용합니다.

CLI가 제한되어 있습니다.http://www.piriform.com/docs/ccleaner/advanced-usage/command-line-parameters#Command-line_parameters_for_CCleaner_

또한 당신이 쉘 전문가이고 W7에 필요하다고 말한 경우 powershell을 사용해 볼 수 있습니다.

http://www.google.es/search?q=powershell+remove+x+day+older+files

관련 정보