Automatischer FTP-Upload mit Windows
21 maggio 2008, 0:38 Tipps & Tricks , Windows- 21. Mai 2008, 12:38
Heute hatte ich, um den automatischen Upload einer Datei in Windows XP Professional-Programms.
Es war wie immer ein sehr lehrreiches, schließlich nehmen die verschiedensten Tricks, kann man auch von Windows erhalten, ist etwas vage ähnlich dem Verhalten von `cron` auf Linux-Servern.
Nur vage, ich will niemanden täuschen.
Aber Sie tun können.
Hier ist, wie.
Angenommen, Sie haben sich zu bewegen jede Stunde eine Kopie der Datei test.txt die folgenden FTP-Servern:
Host: FTP.ESEMPIO.NET
user: Benutzer
pass: QWERTY
Reiseziel: / MIA / Ordner /
Zuerst erstellen wir eine Batch-Skript, das eine FTP-Verbindung öffnen können, verschieben Sie die Datei und schließen Sie dann die Verbindung selbst.
Hier ist das Skript, das ich erstellt und gespeichert in der Datei UPLOADME.BAT:
@echo off
echo user UTENTE> ftpcomm.dat
echo QWERTY>> ftpcomm.dat
echo bin>> ftpcomm.dat
echo cd /MIA/CARTELLA/>>ftpcmd.dat
echo put %1>> ftpcomm.dat
echo quit>> ftpcomm.dat
ftp -n -s:ftpcomm.dat FTP.ESEMPIO.NET
del ftpcomm.dat
Einfach und unkompliziert. Von der Kommandozeile Veröffentlichung der Datei test.txt wird einfach durch die Eingabe erhalten:
uploadme "C:\Documents and Settings\Ivan Agliardi\Documenti\PROVA.TXT"
Nun ist - absurderweise - der schwierige Teil. Windows verfügt nicht über eine echte System cron, also müssen wir auf den berüchtigten Geplante Tasks (alias Task Scheduler) zurückgreifen.
Ich zitiere aus http://support.microsoft.com/kb/308569/it :
Um Geplante Tasks zu öffnen, klicken Sie auf die Schaltfläche Start, zeigen Sie auf Alle Programme, Zubehör, Systemprogramme, klicken Sie dann auf Geplante Tasks.
Um eine neue Aufgabe zu planen:
| 1. | Doppelklicken Sie auf Geplanten Task hinzufügen, um den Assistenten für geplante Tasks zu starten, klicken Sie auf Weiter auf dem ersten Dialogfeld. | ||||||||||||
| 2. |
Im nächsten Dialogfeld zeigt eine Liste der Programme auf Ihrem Computer als Teil des Betriebssystems Windows XP oder als Folge der Software-Installation installiert. Verwenden Sie eine der folgenden Methoden:
| ||||||||||||
| 3. |
Geben Sie einen Namen für den Betrieb und wählen Sie aus den folgenden Optionen:
| ||||||||||||
| 4. |
Klicken Sie auf Weiter, geben Sie die Uhrzeit und den Tag, um den Vorgang auszuführen, klicken Sie auf Weiter. Angaben zu Datum und Zeit der Ausführung der Operation bei der Auswahl im vorherigen Dialogfeld des Assistenten abhängen. Zum Beispiel, wenn Sie die Option Wöchentlich wählen, müssen Sie zeigen den Wochentag, die Uhrzeit und ob die Operation ausgeführt werden soll jede Woche, alle zwei Wochen, alle drei Wochen und so weiter. | ||||||||||||
| 5. | Geben Sie den Benutzernamen und das Passwort mit dem Betrieb verbunden sind. Wählen Sie unbedingt ein Benutzer über ausreichende Berechtigungen, um das Programm auszuführen. Standardmäßig wählt der Assistent den Namen des aktuellen Benutzers, der angemeldet ist. | ||||||||||||
| 6. | Klicken Sie auf Weiter, klicken Sie dann auf Fertig stellen, nachdem die Bestätigung Ihrer Auswahl. |
Zitat Ende ... Nun, das Problem ist ein bisschen "mehr ernst, dass die Schnittstelle des Task Scheduler bietet keine große Auswahl in Bezug auf das Timing: wenn ich das Skript auszuführen jede Stunde möchte ich zuerst eine geplante Aufgabe mit eine der Zeiten zur Verfügung und ändern Sie es, indem Sie auf seinen Erweiterte Optionen.
Was gibt es zur Ausführung eine Fachveranstaltung alle 7 Minuten - zum Beispiel - statt einmal am Tag, es ist mir unklar. Ich bin jedoch nicht klar, dass die erweiterten Optionen zum Einstellen der mir Auto-Repeat-Betrieb alle n Minuten, den Erhalt in der Tat eine frühe Form des `cron` ermöglichen.















27. November 2008 um 13:11 Uhr
Hallo! Wie kann ich auf meinen Server automatisch ein ganzer Ordner (mit all ihren Inhalten, weiß ich nicht a priori) in regelmäßigen Abständen automatisch hochladen?
Hallo und vielen Dank!
27. November 2008 um 15:19 Uhr
Hallo Kumo,
Ich denke, dass in meiner Anleitung gibt es praktisch alles, was Sie brauchen. Was ist der Punkt, dass Sie nicht verstehen? Lassen Sie mich wissen: Ich gebe eine Hand bereit.
Hallo
Ivan
27. November 2008 um 18:03 Uhr
Hallo! Ich kann nicht den Ordner hochladen! Mit keiner dieser Versuche:
C: \ Dokumente und Einstellungen \ FedeCri \ Desktop> uploadme C: \ Avatar
C: \ Dokumente und Einstellungen \ FedeCri \ Desktop> uploadme C: \ Avatar \
C: \ Dokumente und Einstellungen \ FedeCri \ Desktop> uploadme C: \ Avatar \ *.
Er kehrt "Fehler beim Öffnen der Datei Avatar" ... es ist als ob Wildcards nicht funktionieren ...
2. Dezember 2008 um 10:58 Uhr
Ivan? Würdest du mir helfen x fav?
2. Dezember 2008 um 12:00
Kumo Hallo! Und doch vergaß ich Sie, als ich nicht wusste,
Ich denke, die Lösung für Ihr Problem ist einfach: Ersetzen Sie die Ausbildung, die bei 6 bis Zeile der Batch-gelegt wird, dass ich in meinem Beitrag veröffentlicht mit der Aussage mput. Hier ist das endgültige Skript:
@echo offecho user UTENTE> ftpcomm.dat
echo QWERTY>> ftpcomm.dat
echo bin>> ftpcomm.dat
echo cd /MIA/CARTELLA/>>ftpcmd.dat
echo mput %1>> ftpcomm.dat
echo quit>> ftpcomm.dat
ftp -n -s:ftpcomm.dat http://FTP.ESEMPIO.NET
del ftpcomm.dat
Okkio, habe ich nicht ausprobiert, weil ich jetzt keine Zeit haben, aber es sollte funktionieren ... Lassen Sie mich wissen, wie es überhaupt ging, OK?
Ivan Agliardi
2. Dezember 2008 um 16:49 Uhr
Vielen Dank, bzw., Ivan, aber die Situation hat sich verschlechtert ... nicht auf einen ganzen Ordner hochladen, jetzt weiß ich nicht berechnen, auch eine einzelne Datei ... bekomme ich an dieser Stelle fest:
ftp> bin200 TYPE is now 8-bit binary
ftp> mput stewie.jpg
mput stewie.jpg? quit
ftp>
2. Dezember 2008 um 17:00 Uhr
Interessante ... könnte es sein, dass ftp-Prompt-Modus über die Befehlszeile von Windows standardmäßig aktiviert ist mit mput.
Ich weiß immer noch keinen Zugang zu einem Windows-Rechner, um diesen Test zu tun, dann gebe ich euch gerade, Sie versuchen, und wenn ich bestätigen, es funktioniert ... ok? Wenn wir einfach nicht funktioniert ... Also habe ich zwei Minuten suchen, versuchen Sie dies:
@echo offecho user UTENTE> ftpcomm.dat
echo QWERTY>> ftpcomm.dat
echo bin>> ftpcomm.dat
echo cd /MIA/CARTELLA/>>ftpcmd.dat
echo prompt>> ftpcomm.dat
echo mput %1>> ftpcomm.dat
echo quit>> ftpcomm.dat
ftp -n -s:ftpcomm.dat http://FTP.ESEMPIO.NET
del ftpcomm.dat
Erklärung: Ich habe die Erklärung prompt, was off bietet interaktiven Rückfragen (Linie 6). Versuchen Sie, und lassen Sie mich wissen.
Ich warte erwartungsvoll
Ivan Agliardi
2. Dezember 2008 um 19:30 Uhr
Vielen Dank! Es funktioniert!
Eine letzte Frage doch '
Wie stelle ich Code im Ordner, den Sie laden möchten, ohne von DOS als Parameter wechseln??
Grundsätzlich möchte ich die kleinen Programmteile einfaches Anklicken 2 Mal 
3. Dezember 2008 um 08.27 Uhr
Wenn ich es verstehe Sie dieses einfache Skript enthält direkte Pfad des Verzeichnisses per FTP verschoben werden und erfordert nicht als Argument. Nun, das ist eine Sache ganz einfach:
@echo offecho user UTENTE> ftpcomm.dat
echo QWERTY>> ftpcomm.dat
echo bin>> ftpcomm.dat
echo cd /MIA/CARTELLA/>>ftpcmd.dat
echo prompt>> ftpcomm.dat
echo mput C:\avatar >> ftpcomm.dat
echo quit>> ftpcomm.dat
ftp -n -s:ftpcomm.dat http://FTP.ESEMPIO.NET
del ftpcomm.dat
Wenn es nicht funktioniert (ich erinnere mich, dass ich immer nur Linux und auch auf dem Laptop, von dem ich schreibe) werden versuchen, ersetzen
echo mput C:\avatar >> ftpcomm.datmit
echo mput C:\avatar\* >> ftpcomm.datLassen Sie mich wissen
Ivan Agliardi
11. Dezember 2008 um 12:11 Uhr
Perfekt Vielen Dank! Aber da sehe ich nicht die Wildcards? Zum Beispiel:
echo mput "C :/ AVAT * / new / *. gif" >> ftpcomm.dat gibt Fehler, weil ich nicht finden können, den Ordner avatar!
11. Dezember 2008 um 1:20
Kumo Hallo, bitte helfen Sie FTP unter DOS
Ivan
11. Dezember 2008 um 14:39 Uhr
Soll ich überweisen muss von Binär nach ASCII-Transfers wechseln?? noch nicht das Ende "*. gif" keine Probleme! Warum habe ich Probleme nur mit der Abkürzung des Ordners?
12. Dezember 2008 um 20:14 Uhr
Hallo Kumo
Auch ich habe das gleiche Problem ... Sie gelöst haben?
Mit 1000
Gruß
7. Juli 2009 um 11:53 Uhr
alles ist schön, dass es nur ein kleines Problem but not least, wenn Sie dieses Skript verwenden, und Sie haben einige Problem beim Verbinden die Daten auf dem FTP-Site kann es zu falschen, weil es keine Daten erscheint zwischen lokalen und entfernten und hier ist ein kleines Point of no zuverlässiger FTP, hast du eine Lösung?
7. Juli 2009 um 12:57 Uhr
Hallo Daniel,
die Post auf die Sie verweisen ist die einzige öffentliche Reaktion auf eine Anfrage, die ich erhalten hatte, die ausdrücklich auffordern, die Verwendung des FTP-Protokolls zur Verfügung gestellt. Da Sie angeben, in den Grenzen von denen diejenigen richtig, des FTP-Protokolls, die nicht in der Quelldatei und Ziel nicht erscheint sprechen, obwohl in den meisten Szenarien die mögliche Verbindung Problem erkannt wird und die Übertragung sind ausfällt, es hängt alles von dem Betriebssystem und / oder der Software, die den Betrieb leitet. Eine alternative Lösung ist zweifellos, um Software wie rsync unter Windows verwenden. Suchen Sie ein Tutorial, eine einfache Lösung mit rsync zu dieser Adresse machen: http://www.fabriziosinopoli.it/2008/02/18/backup-con-rsync-in-windows/
Viel Spaß!