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

Frage Entwicklung Batch & Shell

FTP Login mit Abfragen

Mitglied: Magnifico

Magnifico (Level 1) - Jetzt verbinden

10.06.2011 um 11:32 Uhr, 4879 Aufrufe, 11 Kommentare

Moin ihr Batch kundigen, ich brauchte mal etwas Hilfe von euch, da ich mich mit dieser Materie überhaupt nicht auskenne.
ich brauche eine Batch-Datei welche folgendes macht:
FTP-Verbindung zu einem bestimmten Server herstellt und dann erstmal aktiv nach Benutzer und Passwort fragt (Benutzername und Passwort sollen aus Sicherheitsgründen nicht fest hinterlegt sein), dann soll automatisch lokal und auf dem Server automatisch in ein Bestimmtes Verzeichnis gewechselt werden, dann soll eine Datei abgeholt werden (get), es soll aber aktiv nach dem Dateinamen gefragt werden.

dies wird täglich Manuel immer gemacht und um dies etwas zu verkürzen wäre so eine Batch-Datei denke ich sehr sinnvoll.
Mitglied: Skyemugen
10.06.2011 um 11:40 Uhr
Aloha,

nö, macht keinen Sinn für mich - Filezilla auf, Anmelden, das bestimmte Verzeichnis lässt sich bereits vorher definieren und dann kann man die Datei auch dort auswählen und herunterladen ...

Wenn man noch manuell alles eingeben soll (vorallem Abfrage des Dateinamen ...) dann sehe ich keinen Sinn für eine Batchdatei hier.

greetz André
Bitte warten ..
Mitglied: Magnifico
10.06.2011 um 11:59 Uhr
danke schomal für dein Kommentar, grundsätlich würde dies sicher auch funktionieren, aber wozu ein extra Programm nutzen wenn es auch per script umzusätzen geht, klickibunti soll es in diesm Fall nicht sein.
Bitte warten ..
Mitglied: Skyemugen
10.06.2011 um 12:21 Uhr
Aloha,

es geht auch per Firefox FireFTP plugin also ohne extra FTP-Clientprogramm aber gerade die Auswahl der gewünschten Datei sollte doch per drag&drop einfacher laufen, denke ich.

Also ich habe es doch richtig interpretiert, dass der User den Dateinamen selber eingeben soll, oder soll eine Verzeichnisabfrage gestartet werden, woraus der User dann z.B. per zugeordneter Zahl die Wahl hat?

greetz André
Bitte warten ..
Mitglied: Magnifico
10.06.2011 um 12:32 Uhr
Ja, der User soll den Dateinamen selber eingeben. Zu deinem zweite Vorschlag, auch dies geht nicht, es soll keine zusätzliche Software installiert werden, es sollen nur die integrierten Windows -Elemente genutzt werden.
Bitte warten ..
Mitglied: Friemler
10.06.2011 um 12:50 Uhr
Hallo Magnifico,

teste mal das hier:
01.
@echo off 
02.
 
03.
setlocal 
04.
 
05.
cls 
06.
 
07.
set "FTPServer=ftp.DerServer.Domain" 
08.
set "RemoteDir=Das/Remote-Verzeichnis" 
09.
set "LocalDir=Das\Lokale Verzeichnis" 
10.
 
11.
 
12.
set "FTPGetDir=%TEMP%\ftpcmd.txt" 
13.
set "FTPGetFile=%TEMP%\ftpcmd.txt" 
14.
 
15.
set /p "Usr=Benutzername: " 
16.
set /p "Pwd=Passwort    : " 
17.
echo. 
18.
 
19.
> "%FTPGetDir%" echo open %FTPServer% 
20.
>>"%FTPGetDir%" echo user %Usr% %Pwd% 
21.
>>"%FTPGetDir%" echo ascii 
22.
>>"%FTPGetDir%" echo cd "%RemoteDir%" 
23.
>>"%FTPGetDir%" echo ls -l 
24.
>>"%FTPGetDir%" echo bye 
25.
 
26.
ftp -v -n -s:"%FTPGetDir%" 
27.
del "%FTPGetDir%" 
28.
 
29.
echo. 
30.
set /p "File=Dateiname: " 
31.
 
32.
> "%FTPGetFile%" echo open %FTPServer% 
33.
>>"%FTPGetFile%" echo user %Usr% %Pwd% 
34.
>>"%FTPGetFile%" echo binary 
35.
>>"%FTPGetFile%" echo cd "%RemoteDir%" 
36.
>>"%FTPGetFile%" echo get "%File%" "%LocalDir%\%File%" 
37.
>>"%FTPGetFile%" echo bye 
38.
 
39.
ftp -v -n -s:"%FTPGetFile%" 
40.
del "%FTPGetFile%"
Die Verbindung wird zweimal hergestellt. Beim ersten mal wird nur das gewünschte Remoteverzeichnis angezeigt. Dann Dateiname einlesen, ein zweites Mal die Verbindung herstellen und downloaden.

Die Variablen in den Zeilen 7 bis 9 an Deine Bedürfnisse anpassen. Dabei ist der Slash statt dem Backslash im Remote-Verzeichnispfad zu beachten.

Sollte es sich bei der Datei um eine Textdatei handeln, sollte das binary in Zeile 34 durch ascii ersetzt werden, dann werden Zeilenumbrüche ins Windowsspezifische Format konvertiert. Der Übertragungsmodus ist standardmäßig zwar sowieso ASCII, aber ohne die Befehle zur Umschaltung hat bei meinem Test mit dem AVM-FTP-Server der Verzeichniswechsel nicht funktioniert. Anscheinend wird nach dem Login noch eine kurze Verzögerung benötigt.

Gruß
Friemler
Bitte warten ..
Mitglied: Skyemugen
10.06.2011 um 13:05 Uhr
Aloha Magnifico und Friemler, da war man mal eben Mittag essen *pfeif*

nun ich gehe davon aus, er weiß, wo er hinwill und gibt das vor,
dann soll automatisch lokal und auf dem Server automatisch in ein Bestimmtes Verzeichnis gewechsel
daher:

01.
@echo off & setlocal 
02.
set "log=%temp%\aktiv.ftp" 
03.
echo Bitte geben Sie den FTP-Benutzernamen ein:  
04.
set /p "login=" 
05.
echo( 
06.
echo Bitte geben Sie das Passwort ein:  
07.
set /p "pwd=" 
08.
echo( 
09.
echo Bitte geben Sie den Dateinamen ein:  
10.
set /p "Datei=" 
11.
echo( 
12.
 
13.
(echo open ftp.diegewuenschtedomain.de 
14.
echo %login% 
15.
echo %pwd% 
16.
echo binary 
17.
echo cd "www/htdocs/downloads" 
18.
echo lcd "E:/Test" 
19.
echo get "%Datei%" 
20.
echo bye)>"%log%" 
21.
echo Starte FTP-Transfer . . . 
22.
ftp -s:"%log%" 
23.
echo Fertig. 
24.
del "%log%" 
25.
pause 
26.
goto :eof
open ftp.diegewuenschtedomain.de = ist klar, oder?
cd "www/htdocs/downloads" = Der Pfad im FTP
lcd "E:/Test" = Der lokale Pfad
Editiere die Pfade, speichere die .bat (oder .cmd) und vermeide Umlaute

greetz André

edit: binary und so ...
Bitte warten ..
Mitglied: Friemler
10.06.2011 um 13:38 Uhr
Hi André,

bei der Übertragung von Binärdateien kommt ohne den Befehl binary aber nur Wurstsalat auf dem lokalen System an...

Gruß
Friemler
Bitte warten ..
Mitglied: Skyemugen
10.06.2011 um 13:51 Uhr
Aloha Friemler,

öhm joa, das ging doch irgendwie unter, glaube beim Löschen der REM-Zeilen, habe ich das wohl miterwischt, hehe.

greetz André
Bitte warten ..
Mitglied: Magnifico
10.06.2011 um 13:54 Uhr
Hey Friemler und Andre, danke für eure Bsp's,
Andre mal eine kleine nach frage zu deinem code, bzw. zu dem Ablauf, laut deinem code wird doch eine temp. Log-Datei erstellt mit den 3 Variablen oder täusche ich mich da? lässt sich das vielleicht auslassen, dh. dass es abgefragt wird und dann direkt verarbeitet ohne zwischen zuspeichern, oder ist die zu komplex für batch?
Bitte warten ..
Mitglied: Skyemugen
10.06.2011 um 14:30 Uhr
Aloha,

das ist bei Friemler nicht anders (vorweg gesagt) und es ist auch nicht vermeidbar, da ftp eigenständig arbeitet und per batch dann nur ftp -s:DateimitallenbenötigtenInhalten.ftp zulässt - sprich:
01.
ftp 
02.
open ftp.domain.de 
03.
username 
04.
password 
05.
 
06.
etc.
Funktioniert nicht, weil ab dem Befehl ftp, die Batch nicht mehr greift.
Die temporäre Logdatei wird ja gleich nach der Benutzung wieder gelöscht und wenn du ohne arbeiten willst, dann nur über die cmd mit aktiver Steuerung (also ohne batch)

greetz André
Bitte warten ..
Mitglied: Friemler
12.06.2011 um 16:05 Uhr
Hallo Magnifico,

schau Dir mal die NcFTP-Suite an. Darin ist NcFTPGet enthalten. Dieses Konsolenprogramm ist nur zum schnellen Download einer Datei gedacht und man kann Benutzer und Passwort als Parameter übergeben => Kein Anlegen einer Datei mit FTP-Kommandos erforderlich, daher können Benutzer und Passwort direkt aus den eingelesenen Variablen übergeben werden.

Gruß
Friemler
Bitte warten ..
Ähnliche Inhalte
PHP
PHP LDAP Login Gruppen Abfrage
gelöst Frage von schneerunzelPHP7 Kommentare

Hallo Zusammen ich habe dieses PHP Script: Dieses Script stammt von einem anderen User aus diesem Forum Unschwer zu ...

Windows 8
Login problem 503 auf meinem ftp server
gelöst Frage von tobias3355Windows 84 Kommentare

hallo, ich habe unter windows 8 den ftp sowie den iis installiert und eine ftp-site eingerichtet. diese hab ich ...

Batch & Shell
CMD-FTP Batch - Server, User, Pass abfrage
Frage von radiodataBatch & Shell6 Kommentare

Hallo zusammen ich bin ein Neuling und frage mal hier. Ich habe einige Scripte die Dateien auf dem ftp-Server ...

Exchange Server
Powershell Archivmailbox abfrage Abfrage
Frage von Clubby84Exchange Server5 Kommentare

Hallo zusammen, möchte gerne eine Ausgabe in eine Datei haben, mit allen Mailboxen, bei denen das Archiv noch nicht ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Windows Server
DNS Forwarding an andere Domäne
Frage von detox91Windows Server9 Kommentare

Hallo, für Testzwecke haben wir bei uns eine zweite Windows Domäne (B.local) aufgebaut, welche komplett unabhängig und isoliert der ...