Jump to content

Batch-Datei - täglichen eine aktuelle Datei kopieren


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

ich habe folgendes Problem:

 

Ich lade täglich mittels GetRight eine Online-Ausgabe unserer Tageszeitung (PDF) per Direktlink herunter. Diese Datei wird dann auf meinem PC unter folgendem Format abgespeichert: zeitung_jjjj_mm_tt.pdf (z.B. zeitung_2010_02_17.pdf)

 

Das funktioniert auch soweit ganz gut.

 

 

Nun möchte ich die PDF-Datei aber täglich auf einen FTP-Server hochladen, damit ich auch von ausserhalb auf die jeweils aktuelle Ausgabe zugreifen kann. Und damit der FTP-Server nicht immer manuell gelöscht werden muss, soll die aktuelle Ausgabe dann einfach in zeitung.pdf umbenannt und täglich überschrieben werden.

 

Habs mit xcopy probiert, aber da klappt das mit dem aktuellen Datum nicht so recht. Kenn mich mit Batch-Datein und Scripting auch nicht wirklich aus.

 

 

Mein Ansatz war, die aktuelle Ausgabe täglich vom Ablageverzeichnis in ein extra Verzeichnis zu kopieren und dann mittels ftp.exe hochzuladen, anschließend den Inhalt des lokalen Ordner wieder zu löschen.

 

Der upload mittels ftp.exe funktioniert auch - die Datei wird dann unter zeitung.pdf auf dem FTP-Server abgelegt. Es liegt jetzt nur noch daran, die jeweils aktuelle Ausgabe auszuwählen. Direkt mit ftp.exe geht die Auswahl der aktuellen Ausgabe ja nicht, oder?

 

Kann mir hier jemand weiterhelfen?

 

 

(System auf dem es laufen soll: Windows XP Prof oder Windows 2003 Prof)

Link zu diesem Kommentar

Hallo, danke für die Antwort.

 

Also mit powershell meinst du die cmd Eingabeaufforderung von Windows XP?

 

(Start - Ausführen - cmd)

 

 

lftp gibts doch nur für Linux, oder nicht? Für Windows hab ich nichts gefunden. Was kann lftp besser als ftp.exe?

 

 

$today = get-date -f yyyy_MM_dd
copy-item "zeitung_$today.pdf" zeitung.pdf -force
# ftp.exe

 

Soll das in eine cmd-/bat-Datei? Ich will das mit dem Windows-Taskmanager dann täglich ausführen lassen.

 

 

 

 

Wenn ich in der cmd-Datei xcopy /d:%date% nehme, dann geht das nicht, weil auf deutschen Systemen tt.mm.jjjj und nicht wie gefordert dd-mm-yyyy genutzt wird. xcopy kanns aber nur mit "-" als Trennzeichen.

Link zu diesem Kommentar
Hallo, danke für die Antwort.

 

Also mit powershell meinst du die cmd Eingabeaufforderung von Windows XP?

 

(Start - Ausführen - cmd)

Wie schon geschrieben, nein. Ist ein extra Download.

lftp gibts doch nur für Linux, oder nicht? Für Windows hab ich nichts gefunden. Was kann lftp besser als ftp.exe?

Ich dachte es gibt einen CLI Client mit dem Namen lftp für Windows. das was ich meinte ist besser auf Scripting ausgelegt als ftp.exe.

$today = get-date -f yyyy_MM_dd
copy-item "zeitung_$today.pdf" zeitung.pdf -force
# ftp.exe

 

Soll das in eine cmd-/bat-Datei? Ich will das mit dem Windows-Taskmanager dann täglich ausführen lassen.

Jein. Erst mal Powershell installieren, dann kannst du das damit ausführen.

Wenn ich in der cmd-Datei xcopy /d:%date% nehme, dann geht das nicht, weil auf deutschen Systemen tt.mm.jjjj und nicht wie gefordert dd-mm-yyyy genutzt wird. xcopy kanns aber nur mit "-" als Trennzeichen.

Deswegen nehme ich Powershell. Ist viel mächtiger als cmd.

Link zu diesem Kommentar

Habs jetzt am laufen. Powershell installiert.

 

Hier mal meine ganzen Batch- und Script-Dateien:

 

1.)

zeitung_kopieren.bat

C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe D:\Admin\Batch\zeitung_kopieren.ps1

 

zeitung_kopieren.ps1

$today = get-date -f yyyy_MM_dd
copy-item "D:\Ablage\Zeitungen\Zeitung-1\Zeitung-1_$today.pdf" "D:\Ablage\Zeitungen\aktuell\Zeitung-1.pdf" -force
copy-item "D:\Ablage\Zeitungen\Zeitung-2\Zeitung-2_$today.pdf" "D:\Ablage\Zeitungen\aktuell\Zeitung-2.pdf" -force

 

2.)

zeitung_upload.cmd

ftp.exe -n -d -i -s:zeitung.ftp

 

zeitung.ftp

OPEN www.meine-domain.de
USER benutzername
passwort
binary
hash
cd /docs/zeitung/
send "D:\Ablage\Zeitungen\aktuell\Zeitung-1.pdf"
send "D:\Ablage\Zeitungen\aktuell\Zeitung-2.pdf"
disconnect
quit

 

 

Die ganzen Scripts/Batch-Dateien werden täglich am morgen nacheinander abgearbeitet.

Also es läuft soweit. Kenn mich mit diesem anderen ftp-Tool nicht aus. Wenn mir jemand da vielleicht noch behilflich sein könnte? Aber es läuft ja so auch? Wäre vielleicht nur schöner, wenn alles in einem einzigen Script abgearbeitet würde.

 

 

Ich musste in der Powershell die policies ändern, damit das script ausgeführt werden konnte (Set-ExecutionPolicy RemoteSigned). Bleibt das jetzt immer so, auch nach einem Neustart oder muß ich da noch was einbauen? Wenn ja, wo?

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...