
나는 사용자가 백업 목적으로 매일 파일을 복사하는 사용자를 위한 Windows 기본 파일 공유 서버(사용자를 위한 100개 이상의 공유 폴더 포함)를 보유하고 있습니다. 일부 사용자는 이 작업을 잊어버리고 며칠이 지나거나 재해 복구 중에 해당 사용자가 자신의 백업 폴더를 유지 관리하지 않는 것으로 보입니다. 이로 인해 IT 부서에 문제가 발생합니다. 현재 우리는 매일 폴더를 탐색하여 모든 사용자를 확인하고 마지막으로 수정된 항목별로 정렬합니다. 일부 스크립팅을 사용하여 이를 수행하고 싶습니다.
폴더 구조는 다음과 같습니다
D:\백업
D:\Backup\User1\Folder1 [사용자의 주요 백업 파일 포함] D:\Backup\User1\Folder2 [사용자의 정크 데이터만 포함]
D:\백업\사용자2\폴더1 D:\백업\사용자2\폴더2
등등
이제 지난 X일 동안 업데이트(수정)되지 않은 폴더 이름을 나열하고 싶습니다. ) 그러나 실제 백업 파일이 포함된 FOLDER1만 검사해야 합니다)
답변1
이를 더 멋지게 만들기 위해 스크립트를 작성할 수 있지만 폴더로 이동하여 Windows 내장 검색을 사용하는 것이 좋습니다. modified:<YYYY-MM-DD hh:mm:ss
이렇게 하면 지정된 날짜 이전에 수정된 모든 파일이 확인됩니다.
폴더만 확인하려면 다음을 추가할 수 있습니다. kind:folders
특정 폴더 이름에 있는 파일만 확인하려면 다음을 사용하세요.foldername:Folder1
추가 값을 사용하여 검색을 사용자 정의할 수 있습니다.
여기사용할 수 있는 몇 가지 고급 검색 옵션이 있습니다.
답변2
어떤 OS를 사용하고 있는지 언급하지 않았습니다. Windows 8.1, Windows 10 또는 Windows Server 2008 R2 이상을 사용한다고 가정하겠습니다.
원하는 작업을 정확하게 수행하는 데 사용할 수 있는 명령이 있습니다.
그것은 ~라고 불린다forfiles
이 명령줄 유틸리티는 현재 폴더(및 선택적으로 모든 하위 폴더)의 모든 파일을 나열합니다. 쿼리처럼 이 거대한 목록에 필터를 적용할 수 있습니다. 옵션 중 하나는 고급 날짜 시스템입니다. 특정 날짜 이전이나 이후의 모든 파일을 선택할 수 있을 뿐만 아니라 특정 기간 동안 동일한 작업을 수행할 수도 있습니다.
명령은 다음과 같습니다.
forfiles /s /m FOLDER1 /c "cmd /c forfiles /p @path /s /d -30"
그러면 이러한 특정 폴더에 대해 지난 30일 동안 수정된 내용이 모두 표시됩니다.