wget - 如果请求的文件是 0kb 或连接超时则不保存文件

wget - if requested file is 0kb or connection timed out then do not save file

我有一个脚本可以从西门子 PLC 下载文件并保存日期。

 set _my_datetime=%date%_%time%
 set _my_datetime=%_my_datetime: =_%
 set _my_datetime=%_my_datetime::=_%
 set _my_datetime=%_my_datetime:/=_%
 set _my_datetime=%_my_datetime:.=_%
 set _my_datetime=%_my_datetime:,=_%

c:\Progra~2\GnuWin32\bin\wget.exe -t 5 --referer=http://192.yyy.xx.102/Portal/Portal.mwsl?PriNav=FileBrowser  http://192.yyy.xx.102/FileBrowser/Download?Path=/DataLogs/Datalog_Yazaki.csv^&RAW --output-document=F:\DataLog_%_my_datetime%.csv --delete-after

如果 plc 不是 运行,它会生成很多 0kb 的文件。

我如何修改脚本以检查它是否为“0kb”或 "no connection" 以托管然后不保存文件。

在您执行 wget 之后,尝试检查 ERRORLEVEL.If 它不为零,那么很可能命令出错了。

set _my_datetime=%date%_%time%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=_%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%
set _my_datetime=%_my_datetime:,=_%

c:\Progra~2\GnuWin32\bin\wget.exe -t 5 --referer=http://192.yyy.xx.102/Portal/Portal.mwsl?PriNav=FileBrowser  http://192.yyy.xx.102/FileBrowser/Download?Path=/DataLogs/Datalog_Yazaki.csv^&RAW --output-document=C:\DataLog_%_my_datetime%.csv --delete-after

if %ERRORLEVEL% NEQ 0 (
  echo "Error occurred"
  GOTO END
)

:END
REM Exit routine

我用 linux 上的脚本解决了删除 0kb 文件的问题。

    find . -maxdepth 1 -size 0 -exec rm {} \;