标题: [文本处理] 求助批处理监控目录文件写入? [打印本页]
作者: leoi 时间: 2020-2-24 10:46 标题: 求助批处理监控目录文件写入?
请教,如何做到监控一个指定目录的文件写入如 c:/pdf
如果检测到pdf目录下有pdf文件写入就执行后面的命令,否则一直保持待命状态待监控目录状态。
另外请教些pdf文件能用SHA1判断是否是同一个文件吗?
顺便讨论下我写的这段FTP的判断与上传的可行性。因为ftp没有返回值,所以通过http返回值先确认下链接是否正常。我发现失败的返回值都是高于226 所以我下了个这样的判断。不知是否合理。- @echo off
- rem 新建当日目录并上传文件
- @setlocal ENABLEDELAYEDEXPANSION
- @set today=%date:~0,4%-%date:~5,2%-%date:~8,2%
- @md D:\backup\%today%
- for /f %%i in ('curl -so /dev/null -w %%{http_code} ftp://用户名:密码@IP地址:端口') do (
- set ret=%%i
- )
- if %ret% LEQ 226 (
- Echo bye
- Echo open IP地址>ftp.up
- Echo 用户名>>ftp.up
- Echo 密码>>ftp.up
- rem Echo Cd .\User >>ftp.up
- Echo binary>>ftp.up
- Echo prompt >>ftp.up
- Echo lcd "D:\Pdf">>ftp.up
- Echo mput "D:\Pdf\*.pdf">>ftp.up
- Echo bye>>ftp.up
- FTP -s:ftp.up
- rem del/s/q D:\Pdf\*
- del ftp.up /q
- Xcopy /y "D:\Pdf\*.pdf" D:\backup\%today%
- del /f/s/q "D:\Pdf\*.pdf"
- ) else (
- exit
- )
- exit
复制代码
作者: zaqmlp 时间: 2020-2-24 13:49
- @echo off
- set info=互助互利,支付宝扫码头像,感谢赞助
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- set "folder=C:\pdf"
- if not exist "%folder%" (echo;"%folder%" no found&goto end)
- set n=0
- for /f "delims=" %%a in ('dir /a-d/b "%folder%\*.pdf" 2^>nul') do set /a n+=1
- :loop
- set m=0
- for /f "delims=" %%a in ('dir /a-d/b "%folder%\*.pdf" 2^>nul') do set /a m+=1
- if %m% gtr %n% (goto jump)
- :back
- set n=%m%
- >nul ping /n 3 0
- goto loop
- :jump
- echo;执行后面的命令
- goto back
- :end
- echo;%info%
- pause
- exit
复制代码
作者: leoi 时间: 2020-2-25 01:25
本帖最后由 leoi 于 2020-2-26 08:47 编辑
改成这样把问题解决了。谢谢你
@echo off
set info=互助互利,支付宝扫码头像,感谢赞助
rem 有问题,可加QQ956535081及时沟通
title %info%
set "folder=C:\pdf"
if not exist "%folder%" (echo;"%folder%" no found&goto end)
set n=0
for /f "delims=" %%a in ('dir /a-d/b "%folder%\*.pdf" 2^>nul') do set /a n+=1
:loop
set m=0
for /f "delims=" %%a in ('dir /a-d/b "%folder%\*.pdf" 2^>nul') do set /a m+=1
>nul ping /n 3 0
if %m% gtr %n% (goto jump)
:back
set m=%n%
>nul ping /n 3 0
goto loop
:jump
echo;执行后面的命令
goto back
:end
echo;%info%
pause
exit
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |