%EC%9D%84%20%EC%A0%9C%EC%99%B8%ED%95%9C%20%ED%8F%B4%EB%8D%94%EC%9D%98%20%EB%AA%A8%EB%93%A0%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
2일보다 오래된 폴더의 모든 파일을 삭제하는 현재 코드는 다음과 같습니다.
forfiles /p "C:\Test" /s /m *.* /c "cmd /c Del /F /Q @path" /d 2
하나 있다.idf다른 모든 파일 중에서 파일. 하나의 .idf 파일을 제외한 모든 파일을 삭제하고 싶습니다. 현재 코드가 파일을 무시하도록 하려면 무엇을 변경해야 합니까? 가능하지 않은 경우 새로운 명령이 도움이 될 것입니다.
답변1
접근 방식을 조금 개선하려면 다음을 수행하십시오.
- 오래된 파일만 처리하려면 스위치를
forfiles
사용하여 유지하세요 ./d -2
- 확장자를 가진 파일을 생략하려면
for %G
with를 사용하세요 .if /I [%~xG] neq [.idf]
.idf
%
배치 파일에서 실행하는 경우 모두 두 배 :%%G
대신%G
등.@echo
디버깅보다 빨리 제거하십시오 .
명령:
forfiles /p "C:\Test" /s /m *.* /c "cmd /c for %G in (@path) do @if /I [%~xG] neq [.idf] @echo del /F /Q %G" /d -2
자원(필수 읽기):
- (명령 참조)Windows CMD 명령줄의 AZ 인덱스
- (추가 특징)Windows CMD 셸 명령줄 구문
- (
%~G
등 특별 페이지)명령줄 인수(Parameters)