2014-02-21 3 views
0

pdf 파일로 계속 업데이트되는 디렉토리가 있습니다. 파일 이름은 다음과 같이 :파일 이름 일괄 처리에서 날짜 문자열을 기준으로 파일 이동

0001_2014_02_14_000000001_018_001_000.pdf 

0001_2014_02_14_000000002_018_002_000.pdf 

0001_2014_02_15_000000003_018_001_000.pdf 

0001_2014_02_15_000000004_018_002_000.pdf 

어떻게 날짜 (문자 장소 6)를 분석하고 d:\send라는 디렉토리에 파일을 이동 배치 파일을 만들 것입니다. 좀 더 복잡하게하려면 오늘 날짜에서 3 일을 빼고 그 파일 만 이동해야합니다. BTW 파일의 수정 날짜가 작동하지 않습니다. 올바른 날짜는 파일 이름의 날짜입니다.

예 : 오늘 2014년 2월 21일 이 0001_2014_02_18_??????????.pdf의 접두사를 가지고 물론 오늘 날짜는 매일 변경됩니다이가 매일 실행되도록 예약됩니다 d:\send

로 보낼 파일을 찾을 수 있습니다.

도움 주셔서 감사합니다. 일부 샘플 파일에

+1

이 아마이 답변을 사용하여 수행 할 수 있습니다 http://stackoverflow.com/questions/51054/batch-file-to-delete-files-older-than -n-days? rq = 1 –

+0

@preetsangha이 링크는 주어진 그림보다'오래된 '파일에 대한 예제 만 보여줍니다. – foxidrive

답변

0

시험이 :

@echo off 
set day=-3 
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s) 
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2) 
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a" 
del "%temp%\%~n0.vbs" 
set "YYYY=%result:~0,4%" 
set "MM=%result:~4,2%" 
set "DD=%result:~6,2%" 
move "????_%yyyy%_%mm%_%dd%_*.pdf" "d:\send" 
pause 
+0

나는 당신이 이것으로 어디로 가고 있는지 보았다. 작동해야하지만 "중복 파일이 있거나 파일을 찾을 수 없습니다." 지금 경로와 파일 이름 확인. 대기. – user3338615

+0

작업 중! 정말 고맙습니다! – user3338615

관련 문제