Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Prüfen, ob Zugriff auf mehrere FTP-Server möglich ist?

Frage Entwicklung Batch & Shell

Mitglied: batch0r

batch0r (Level 1) - Jetzt verbinden

31.07.2010 um 20:53 Uhr, 4663 Aufrufe, 4 Kommentare

Hallo,

angenommen ich verwalte mehrere FTP-Server und diese haben mehrere Logins. Allerdings habe ich derzeit keinen Zugriff auf die Admin-Konsole.
Ich habe alle in einer Textdatei mit folgendem Aufbau:

username1:passwort1@ftp.server1.de
username2:passwort2@ftp.server1.de
username1:passwort1@ftp.server2.de
username2:passwort2@ftp.server2.de
....

Nun möchte ich nicht alle via copy/paste im Internet Explorer oder einem FTP-Programm einzeln prüfen.

Wie kann ich das mit Hilfe einer Batch-Datei vereinfachen?

Kann ich dies irgendwie mit Hilfe der ftp.exe in Windows/system32 machen?
Mitglied: Friemler
31.07.2010 um 23:15 Uhr
Hallo batch0r,

hier ein Vorschlag zur Lösung Deines Problems. Ich gehe davon aus, daß Du die Anmeldeinformationen prüfen willst.

01.
@echo off 
02.
 
03.
setlocal 
04.
 
05.
for /f "usebackq tokens=1-3 delims=:@" %%a in ("servers.txt") do ( 
06.
  echo open %%c>"%TEMP%\ftpcmd.txt" 
07.
  echo user %%a %%b>>"%TEMP%\ftpcmd.txt" 
08.
  echo bye>>"%TEMP%\ftpcmd.txt" 
09.
 
10.
  (for /f %%i in ('ftp -n -s:"%TEMP%\ftpcmd.txt" 2^>NUL ^| findstr /b /c:"230"') do ( 
11.
    echo Login auf %%c mit Username %%a, Passwort %%b war erfolgreich. 
12.
  )) || echo Login auf %%c mit Username %%a, Passwort %%b war nicht erfolgreich. 
13.
14.
 
15.
del "%TEMP%\ftpcmd.txt" 
16.
 
17.
endlocal
Erklärung:
Die äußere FOR-Schleife ließt die Datei servers.txt, die Deine o.g. FTP-Server und Login-Daten enthält, zeilenweise aus. Der Inhalt einer Zeile wird in seine Bestandteile zerlegt. delims=:@ gibt die Trennzeichen an. Die Laufvariable %%a enthält den Usernamen, %%b das Passwort und %%c die Serveradresse. %%b und %%c werden durch die Angabe von tokens=1-3 im Kopf der FOR-Schleife implizit erzeugt (siehe FOR /?, Erklärung zu FOR /F). Durch usebackq kann der Dateiname servers.txt in Anführungszeichen gesetzt werden und dadurch theoretisch auch Leerzeichen enthalten.

Die Werte werden durch die drei ECHO-Befehle am Anfang der FOR-Schleife zusammen mit FTP-Befehlen in die Datei ftpcmd.txt ins Verzeichnis %TEMP% für temporäre Dateien geschrieben. open %%c öffnet die Verbindung zum Server. user %%a %%b übermittelt die Login-Informationen. bye schließt die Verbindung und beedet den FTP-Befehl.

In der inneren FOR-Schleife wird der FTP-Befehl ausgeführt. Durch -n wird die automatische Anmeldung am Server unterdrückt, durch -s:"%TEMP%\ftpcmd.txt" holt sich der FTP-Befehl die FTP-Kommandos aus der eben erzeugten Datei. Durch 2^>NUL werden Fehlermeldungen nicht ausgegeben. Die normale Ausgabe des Befehls wird durch ^| an den FINDSTR-Befehl übergeben, der nach einer Zeile sucht, die mit dem Wert 230 beginnt. Das ist die Statusmeldung für eine erfolgreiche Anmeldung am FTP-Server.

Wenn FINDSTR eine solche Zeile findet, wird der ECHO-Befehl in der inneren FOR-Schleife ausgeführt (Login auf <Server> mit Username <Username>, Passwort <Passwort> war erfolgreich). Wenn FINDSTR keine Zeile, die mit 230 beginnt, findet, wird durch || der ECHO-Befehl nach der inneren FOR-Schleife ausgeführt (Login auf <Server> mit Username <Username>, Passwort <Passwort> war nicht erfolgreich).

Im nächsten Durchlauf der äußeren FOR-Schleife wird die Datei ftpcmd.txt mit den Daten vom nächsten Server neu angelegt und der Ablauf beginnt von neuem.

Am Schluß wird die Datei ftpcmd.txt wieder gelöscht.

Gruß
Friemler
Bitte warten ..
Mitglied: bastla
01.08.2010 um 10:59 Uhr
@Friemler
Sieht gut aus

Aus optischen Gründen würde ich die Zeilen 6 bis 8 aber eher so schreiben:
01.
  > "%TEMP%\ftpcmd.txt" echo open %%c 
02.
  >>"%TEMP%\ftpcmd.txt" echo user %%a %%b 
03.
  >>"%TEMP%\ftpcmd.txt" echo bye
Grüße
bastla

P.S.: "endlocal" wird am Ende des Batches automatisch ausgeführt ...
Bitte warten ..
Mitglied: batch0r
01.08.2010 um 11:38 Uhr
Vielen Dank für den Code und die ausführliche Beschreibung!
Bitte warten ..
Mitglied: Friemler
01.08.2010 um 14:00 Uhr
Hallo bastla,

Zitat von bastla:
Sieht gut aus

Danke!

01.
> "%TEMP%\ftpcmd.txt" echo open %%c 
02.
>>"%TEMP%\ftpcmd.txt" echo user %%a %%b 
03.
>>"%TEMP%\ftpcmd.txt" echo bye
Interessant zu wissen, daß das auch funktioniert. Sieht auch besser aus. Danke.

P.S.: "endlocal" wird am Ende des Batches automatisch ausgeführt ...

Schon klar, aber das ist meine "Coding-Ästhetik": geöffnete Blöcke auch wieder schließen, mache ich in HTML wenn möglich auch.

Gruß
Friemler
Bitte warten ..
Ähnliche Inhalte
Windows Server
Zugriff auf Dateien in Share nicht mehr möglich
Frage von braindWindows Server7 Kommentare

Hallo Zusammen, ich habe auf einem DC, Windows 2008 R2 in letzter Zeit immer wieder das Problem das Dateien ...

Router & Routing
Zugriff auf zweiten FTP-Server im Netz
Frage von JochemRouter & Routing2 Kommentare

Moin zusammen, gegeben ist folgende Konfiguration: Internet All-Ip - Speedport W724V - IPCop-Firewall - drei Netze (intern, DMZ, WLAN). ...

Batch & Shell
Update mehrerer Verzeichnisse auf FTP-Server
gelöst Frage von caspi-pirnaBatch & Shell3 Kommentare

Hallo zusammen, ich habe aktuell das Problem, dass ich mehrere lokale Verzeichnisse mit denen auf einem FTP-Server synchron halten ...

Windows Server
FTP-Zugriff auf Server2016 Essential
Frage von angler2001Windows Server1 Kommentar

Guten Morgen, ich habe leider folgendes Problem. Ich habe einen Server2016 mit der Essential-Server-Rolle installiert. Soweit funktioniert auch alles ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 17 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 22 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 22 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows XP
Windows XP Aktivieren geht nicht
Frage von tetikmiroWindows XP13 Kommentare

Hallo Ich habe einen Windows XP mit einen vCenter Converter umgezogen auf eine ESXI. Soweit funktioniert dies auch ohne ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
gelöst Frage von prodriveNetzwerkmanagement12 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...