批处理文件中的FTP下载进度条

时间:2016-10-28 12:35:27

标签: batch-file download ftp

我想知道下面的代码是否有可能启用进度条或百分比计数器来检查下载进度,但是自从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

1 个答案:

答案 0 :(得分: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 progress display

(我是WinSCP的作者)