정확하게 당신이 원하는 것을 말할 힘든이 없습니다. 그러나 나는이 가까이 있어야 믿을 : 명령 프롬프트에서
(더 배치) : 일괄 스크립트 내에서
for /f "delims=" %F in ('dir /b "c:\temp\*.out.gz"') do @if "%F" geq "20130101" if "%F" lss "20130902" @echo %F
:
for /f "delims=" %%F in ('dir /b "c:\temp\*.out.gz"') do if "%%F" geq "20130101" if "%%F" lss "20130902" echo %%F
또는 잘 포맷 :
@echo off
for /f "delims=" %%F in ('dir /b "c:\temp\*.out.gz"') do (
if "%%F" geq "20130101" if "%%F" lss "20130902" echo %%F
)
위의 해결 방법에는 2013 년 1 월 1 일 이후의 파일이 포함됩니다. 해당 날짜를 포함시키지 않으려면 마지막 문자열을 ''20130901 ''로 변경하십시오.
IF는 날짜 비교 또는 숫자 비교가 아닌 문자열 비교를 수행한다는 점에 유의하십시오. 이것은 날짜 형식이 YYYYMMDD이기 때문에 작동합니다.
.out.gz
파일이 날짜로 시작되지 않으므로 무시해야하는 경우 FINDSTR 정규식을 추가하여 더 선택적으로 지정할 수 있습니다. 불행히도 FINDSTR 정규 표현식 지원은 매우 제한적입니다. [0-9]{8}
과 같은 것을 지원하지 않습니다.
@echo off
for /f "delims=" %%F in (
'dir /b "c:\temp\*.out.gz"^|findstr "^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\.'
) do if "%%F" geq "20130101" if "%%F" lss "20130902" echo %%F
난 당신이 (당신이 Y 누락) – dbenham
네 죄송합니다 당신은 내가 C에 해당 파일을 복사하려고, 그것은 또한 일을 잘 – user2883028