【问题标题】:FTP download progress bar in batch file批处理文件中的FTP下载进度条
【发布时间】:2016-10-28 12:35:26
【问题描述】:

我想知道下面的代码是否有可能启用进度条或百分比计数器来检查下载进度,但是由于 FTP 客户端正在执行下载,因此看不到替代品。

按照代码:

ECHO OFF
Color 17
Setlocal ENABLEDELAYEDEXPANSION
CLS
:MENU
ECHO.
ECHO ...............................................
ECHO . Selecione o numero desejado no menu abaixo  .
ECHO ...............................................
ECHO.
ECHO 1 - Atualizar Frente/Retaguarda
ECHO 2 - Atualizar Rgourmet
ECHO 3 - Exit
ECHO.
SET /P M=Selecione 1, 2, ou 3 e pressione ENTER:
IF %M%==1 GOTO FRENTE
IF %M%==2 GOTO RGOURMET
IF %M%==3 GOTO SAIR

:FRENTE

@ echo off

echo open 177.125.217.138>>frente.ftp
echo ****>>frente.ftp
echo ****>>frente.ftp
echo hash>>frente.ftp
echo cd atualizador>>frente.ftp
echo binary>>frente.ftp
echo get "libx12.dll">>frente.ftp
echo get "rjkmonitor.exe">>frente.ftp
echo get "rjkini.exe">>frente.ftp
echo quit>>frente.ftp
@ echo off

echo off taskkill /F /IM rjkpdv.exe > NUL
echo off taskkill /F /IM libx12.dll > NUL
echo off taskkill /F /IM rjkretaguarda.exe > NUL

ftp -v -i -s:frente.ftp

if exist macro.txt (
    rjkpdv.exe /a
    rjkini.exe
) else (
    del rjkretaguarda.exe
    ren libx12.dll rjkretaguarda.exe
    rjkretaguarda.exe /a
    rjkini.exe
)
del frente.ftp
cls
GOTO MENU

:RGOURMET

@ echo off
taskkill /F /IM rgourmet.exe
taskkill /F /IM rmt.exe
echo open 177.125.217.138>>rgourmet.ftp
echo ****>>rgourmet.ftp
echo ****>>rgourmet.ftp
echo hash>>rgourmet.ftp
echo cd atualizador>>rgourmet.ftp
echo binary>>rgourmet.ftp
echo get "rgourmet.exe">>rgourmet.ftp
echo get "rmt.exe">>rgourmet.ftp
echo get "rjkini.exe">>rgourmet.ftp
echo quit>>rgourmet.ftp
@ echo off

ftp -v -i -s:rgourmet.ftp
    rgourmet.exe /asgb
    rjkini.exe

del rgourmet.ftp
cls
GOTO MENU

:SAIR
exit

【问题讨论】:

  • 您希望批处理文件如何确定文件大小,以便它可以监控下载并确定完成的百分比。
  • 马上改密码,你已经公开了!
  • 感谢聆听朋友@MartinPrikryl 我想要的东西,我已经完成了测试并且它成功了。我将更改密码 FTP,虽然它只是一个基本测试。谢谢

标签: batch-file download ftp


【解决方案1】:

内置 Windows 命令行 FTP 客户端 (ftp.exe) 无法显示传输进度。它所能做的就是你已经用hash 命令得到的。


您必须使用另一个 FTP 客户端才能获得百分比进度。

例如使用WinSCP FTP client,默认情况下您会获得百分比进度。

winscp.com /command ^
    "open ftp://rjk:password@177.125.217.138/" ^
    "cd atualizador" ^
    "get libx12.dll" ^
    "get rjkmonitor.exe" ^
    "get rjkini.exe" ^
    "exit"

查看guide for converting Windows FTP script to WinSCP script。

(我是 WinSCP 的作者)

【讨论】:

  • 感谢@MartinPrikryl
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多