우리 회사는 배치 스크립트를 통해 야간에 실행되는 많은 자동화 기능을 갖추고 있습니다. 대부분 여기 저기에 새로운 파일을 복사하는 것뿐입니다. 내가 찾고있는 것은 모든 스크립트가 실행되어 모든 것이 최신 상태인지 확인한 후 파일 생성 날짜/마지막 수정 날짜를 검사하는 방법입니다. 기본적으로 공유 드라이브 또는 UNC 경로의 특정 파일을 찾습니다. 해당 파일이 24 시간 미만이면 아무것도하지 마십시오. 제목 파일이 24 시간보다 오래 되었다면 전자 메일을 트리거하십시오. IF 문 끝 부분에 추가 할 수 있도록 전자 메일을 보낼 VBS가 이미 있습니다. 어떤 도움을 주셔서 감사합니다.파일의 최종 수정 날짜를 모니터링하는 배치 스크립트 찾기
0
A
답변
0
당신은 여기
은 라인을 따라 뭔가를 할 것입니다 일상의 ...for %a in (file.txt) do echo %~ta
으로 파일
수정 날짜 (배치 파일에서
%
배)
1
이 가지 방법과 의미를 얻을 수 있습니다 당신 개요 :
@ECHO Off
SETLOCAL
:: remove variables starting $
FOR /F "delims==" %%a In ('set $ 2^>Nul') DO SET "%%a="
SET "sourcedir=U:\sourcedir"
SET "runflag=runflag.###"
SET "foundrun="
ATTRIB -h "%sourcedir%\runflag.###"
FOR /f "tokens=1,2delims=:" %%a IN ('dir /b /od /a-d "%sourcedir%"^|findstr /n /r "^"') DO (
IF %%b==%runflag% SET foundrun=Y
IF NOT DEFINED foundrun SET "$%%a=%%b"
)
(
ECHO(Old file list
FOR /F "tokens=1,2delims==" %%a In ('set $ 2^>Nul') DO ECHO(%%b
)>"%sourcedir%\%runflag%"
ATTRIB +h "%sourcedir%\runflag.###"
IF DEFINED $1 ECHO(send email
GOTO :EOF
당신은 당신의 상황에 맞게
sourcedir
의 설정을 변경해야합니다
. runflag
은 편리한 파일 이름입니다.
여기의 오브젝트는이 루틴의 이전 실행 이후 갱신되지 않은 파일을 찾는 것입니다. 공휴일, 주말 등의 경우 고정 된 "24 시간"아이디어를 얻습니다.
변경되지 않은 파일의 이름은 runflag.###
인데 blat
과 같은 메일러에서 사용하는 것이 이상적입니다.
여기에 hidden
플래그로 놀았습니다. "여기 없어야합니다. 이해가 안됩니다. 삭제하겠습니다"라는 파일을 숨기려고합니다. (그 태도를 취하는 사람들은 종종 간단한 + H와 + R로 패배 할 수 있습니다). ATTRIB 명령을 개선하거나 제거하십시오.
0
\\server\share
을 변경하고 filename.ext
대신 파일 이름을 사용하십시오. 파일이 1 일 이상 경과하면 email.bat
파일이 시작됩니다.
robocopy "\\server\share" "%temp%" filename.ext /minage:1 /L |find " New File " >nul && call email.bat
관련 문제
- 1. 배치 스크립트 원격 파일의 최종 수정 날짜 가져 오기
- 2. 온라인 파일의 최종 수정 날짜를 얻는 방법?
- 3. Excel 매크로 파일의 최종 수정 날짜를 찾으려면
- 4. 파일의 최종 수정 날짜를 변경하는 방법
- 5. 여러 디렉토리에서 파일의 최종 수정 날짜를 얻으려면 어떻게해야합니까?
- 6. 파일의 최종 업데이트 날짜를 변경하십시오.
- 7. VBA를 사용하여 Sharepoint에서 Excel 파일의 최종 수정 날짜를 얻는 방법?
- 8. Perl에서 파일의 최종 수정 날짜를 얻는 방법은 무엇입니까?
- 9. VBA를 사용하여 SharePoint에서 파일의 최종 수정 날짜를 얻는 방법은 무엇입니까?
- 10. 서버와 로컬 컴퓨터간에 파일의 최종 수정 날짜를 유지하십시오.
- 11. 번역 UNIX에서 로컬 시간대로 파일의 최종 수정 날짜를
- 12. Qt 리소스 시스템에있는 파일의 최종 수정 날짜
- 13. 문자열로 파일의 최종 수정 날짜 C++
- 14. 마지막 수정 날짜를 파일 최종 수정 날짜와 어떻게 비교합니까?
- 15. git repo에서 파일의 최종 수정 데이터를 얻으십시오.
- 16. 파일 배치 스크립트 일괄 수정
- 17. 내가 파일의 수정 날짜를 얻기 위해 이것을 사용하고 배치 파일
- 18. 배치 파일의 마지막 수정 날짜를 기반으로 파일 복사
- 19. JavaScript 파일의 최종 수정 시간 표시
- 20. 원격 파일의 최종 수정 날짜 가져 오기
- 21. 공유 그룹의 최종 수정 날짜를 가져옵니다.
- 22. 원격 파일의 수정 날짜를 얻으십시오
- 23. AppleScript로 - 파일의 생성/수정 날짜를 찾는
- 24. Template :: Toolkit 파일의 마지막 수정 날짜를 표시하려면
- 25. 안드로이드가 파일의 최종 수정 시간을 설정했습니다.
- 26. MATLAB : 파일의 최종 수정 시간 가져 오기
- 27. 파일의 최종 수정 날짜가 Java에서 마지막으로 생성 된 날짜가 아닙니다.
- 28. Microsoft SharePoint 사이트의 RSS 피드에서 최종 수정 날짜를 얻는 방법?
- 29. 수정 된 날짜를 결정하는 배치 파일
- 30. 업로드 한 파일의 마지막 수정 날짜를 얻는 방법은 무엇입니까?
확실히 올바른 길을 가고 있습니다. 그러나 배치 파일에서 명령을 실행하면 결과가 표시되지 않습니다. "% a (C : \ PROJECTS \ results.txt)에서 echo % ~ ta> C : \ PROJECTS \ NAVIS_MONITOR.txt"를 선택하십시오. 문자열을 복사하여 cmd 프롬프트에 붙여 넣으면 완벽하게 작동합니다. 그러면 FC를 수행하고 필요한 것을 얻을 수 있습니다. 그러나 배치 파일에서 해당 줄을 실행하면 아무것도 얻지 못합니다. –
배치 파일에서'%%'는'% '대신 두 번 쓰여 져야합니다. 명령 프롬프트 창에서'help for' 또는'for /? '를 입력하면'for' 명령 출력에 대한 도움말을 참조하십시오. – Mofi
도움을 주셔서 감사합니다. 이 일은 나를 잡았어. –