So laden Sie Dateien von der FTP-Site in einer Befehlszeile ohne Benutzerinteraktion herunter (Windows)

Ich weiß, dass es einen FTP-Befehl gibt, der über die Befehlszeile unter Windows ausgeführt werden kann, und er lädt eine Datei von einer FTP-Site herunter. User + password werden in "that" einzeiliges cmd angegeben. Diese Optionen + Passwort passtrough sollten sich in dieser Befehlszeile befinden.

echo open 192.168.1.64 21> ftp.txt
echo anonymous>> ftp.txt
echo [email protected]>> ftp.txt
echo bin >> ftp.txt
echo get test.txt >> ftp.txt
echo bye >> ftp.txt

ftp -s:ftp.txt
Author: Peter Mortensen, 2013-01-10

4 answers

Versuchen Sie dies: Batch-Dateien-Unbeaufsichtigte FTP-Downloads

WGET ftp://ftp.mydomain.com/path/file.ext  

Für anonyme downloads

Oder:

WGET ftp://user:[email protected]/path/file.ext  

Wenn Authentifizierung erforderlich ist.


Wie @XavierStuvw über Bearbeitungen und Kommentare darauf hingewiesen hat, würde das Austauschen von WGET in Kleinbuchstaben wget unter Linux funktionieren.

wget ftp://user:[email protected]/path/file.ext
 14
Author: CalvT,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-08 17:01:12

Ich fand den Weg:

echo open 192.168.0.1 >> ftp &echo user admin w00t >> ftp &echo binary >> ftp &echo get file.zip >> ftp &echo bye >> ftp &ftp -n -v -s:ftp &del ftp
 9
Author: soundhax,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-01-11 10:41:13

Beachten Sie, dass Sie mit dem Befehl /nach der Syntax eines Befehls in DOS fragen können. Schalter. Beispiel:

C:\>ftp /?

Transfers files to and from a computer running an FTP server service
(sometimes called a daemon). Ftp can be used interactively.

FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:recvbuf
fer] [-b:asyncbuffers] [-w:windowsize] [host]

  -v              Suppresses display of remote server responses.
  -n              Suppresses auto-login upon initial connection.
  -i              Turns off interactive prompting during multiple file
                  transfers.
  -d              Enables debugging.
  -g              Disables filename globbing (see GLOB command).
  -s:filename     Specifies a text file containing FTP commands; the
                  commands will automatically run after FTP starts.
  -a              Use any local interface when binding data connection.
  -A              login as anonymous.
  -x:send sockbuf Overrides the default SO_SNDBUF size of 8192.
  -r:recv sockbuf Overrides the default SO_RCVBUF size of 8192.
  -b:async count  Overrides the default async count of 3
  -w:windowsize   Overrides the default transfer buffer size of 65535.
  host            Specifies the host name or IP address of the remote
                  host to connect to.

Notes:
  - mget and mput commands take y/n/q for yes/no/quit.
  - Use Control-C to abort commands.

In Ihrem Fall möchten Sie den Schalter-s verwenden, um ihm ein Skript einschließlich der Anmeldeantworten zuzuführen.

Zum Beispiel:

  1. Eine Skriptdatei erstellen (c:\scriptfile.txt) mit folgendem Inhalt:

    open
    servername_or_ip
    username
    password
    get
    /fullpath/thefile.txt
    c:\fullpath\thefile.txt
    quit
    
  2. Führen Sie ftp mit dem Schalter-s aus und geben Sie den Skriptdateinamen an

    C:\>ftp -s:c:\scriptfile.txt
    
 2
Author: yosh m,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-02-20 17:03:30

Hier ist eine andere Lösung, wie Sie alle Dateien von einem Remote-Server-Ordner in Ihren lokalen Ordner herunterladen können, indem Sie die Befehlszeile und winscp-Skripte verwenden:

  1. WinSCP herunterladen und installieren: https://winscp.net/eng/download.php

  2. Erstellen Sie eine batch-Datei z.B. "ftp-Automatisierung.bat" in einem benutzerdefinierten Ordner Ihrer Wahl (z.B. "C:\customfolder").

  3. Bearbeiten Sie die batch-Datei "ftp-Automatisierung.bat", und fügen Sie diese content:

@echo off
echo Starting WinSCP
"C:\Program Files (x86)\WinSCP\WinSCP.com" /script="C:\customfolder\winscp-script.txt"
echo WinSCP finished
  1. Erstellen Sie die Datei "winscp-Skript.txt" in "C:\customfolder\winscp-script.txt" und fügen Sie diesen Inhalt hinzu:
# Connect to SFTP server
open sftp://USERNAME:PASSWORD@HOSTORIP
# Download remote to local folder
get /var/lib/myfolderofinterest/* C:\mylocalfolder\
# optional: Remove remote files (remove #)
# rm /var/lib/myfolderofinterest/*
# Exit WINSCP
exit

Natürlich müssen Sie USERNAME durch Ihren FTP-Benutzernamen, PASSWORD durch Ihr FTP-Passwort und HOSTORIP durch Ihre Domain ersetzen (ftp.mydomain.com) oder IP-Adresse (12.34.56.78).


Sicherheitshinweis: Stellen Sie sicher, dass die obige Skriptdatei auf Ihrem PC sicher ist, da sie die Anmeldeinformationen (Kennwort) für Ihren Server enthält!


Tipp: Möglicherweise möchten Sie den Windows-Taskplaner (Aktion > Grundlegende Aufgabe erstellen) verwenden, um die Batchdatei einmal täglich auszuführen.

 1
Author: Avatar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-23 08:12:08