특정 기준을 충족하는 약 X백만 개의 파일을 삭제하는 데 어려움이 있습니다. 특히 90일이 넘고 특정 파일 형식을 제외해야 합니다. 지금까지 우리는 멀티 스레드 Powershell 스크립트를 사용했는데, 이는 훌륭하지만 수집 프로세스가 빠른 속도로 새 파일을 생성하기 때문에 필요한 만큼 빠르지는 않습니다.
너무 많은 파일을 빠르게 삭제하려면 어떻게 해야 합니까?
답변1
랜색 요원정말 빠르며 수정된 날짜를 기준으로 파일 삭제를 지원합니다.
또한 서버에서 실행 중인 다른 프로세스를 모두 종료하면 더 빠르게 실행됩니다.
답변2
Powershell은 그다지 빠르지 않다는 평판을 얻었습니다. 아마도 Windows 내장 forfiles
명령을 사용하는 배치 파일이 트릭을 수행할 수 있습니다.
90일이 지난 모든 파일을 선택하고 삭제하려면 다음과 유사한 방법을 사용할 수 있습니다.
forfiles -p "C:\your\dir" /S /D -90 /C "cmd /c del @path"
그래도 너무 느린 경우 forfiles
삭제할 파일 목록을 먼저 만든 다음 목록의 모든 파일에 대해 일괄 제거 명령을 사용할 수 있습니다(이렇게 하면 del
호출/반복 횟수가 크게 줄어들 수 있습니다).