Dateien per Senden an Batch hochladen
Wenn ich hier einen Beitrag schreibe, dann gehören ab und an auch mal ein paar Dateien dazu - z.B. Screenshots von Programmen. Und bisher habe ich sie entweder mit FileZilla oder via Webinterface in meinem Backend hier hoch geladen. Doch es sind immer mehrere Schritte nötig, bis die Bilder da sind, wo sie hin sollen.
Dann, vor ca. einem Monat habe ich bei passsy seinen Artikel "Verwöhnt vom Smartphone" gelesen und mich daran erinnert, das ich mal unter XP ein Batch-Datei hatte, mit der ich eine Datei via FTP zu meinem Webspace hochladen konnte. Doch irgendwie ist die bei dem Wechsel zu Windows 7 nicht mit rüber gekommen und auch in meinem Backups konnte ich sie nicht mehr finden.
Also habe ich mich letztens mal hingesetzt und dieses Skript nochmals geschrieben. Und weil ich heute ein wenig Zeit hatte, es so erweitert, das es mit mehreren Dateien (mit 15 habe ich es getestet) funktioniert.
Das Ganze basiert auf wput, welches man hier herunterladen kann. Die wput.exe & dll's sollten im gleichen Verzeichnis wie die Batch-Datei liegen oder zumindest von ihr erreichbar sein. Stichwort: PATH-Variable
Hier nun das Skript:
@echo off
set ftp_user=xxxx
set ftp_pass=xxxx
set ftp_host=xxxx.de
set ftp_path=pfad/zu/dem/screenshots/
IF [%1] EQU [] goto missing
:Loop
IF "%1"=="" GOTO end
echo.
echo Starte upload von %1
wput -q -u -nd -B --basename=%~d1%~p1 %1 ftp://%ftp_user%:%ftp_pass%@%ftp_host%/%ftp_path%
echo = http://%ftp_host%/%ftp_path%%~n1%~x1
SHIFT
GOTO Loop
:Continue
goto end
:missing
echo.
echo Datei als Parameter fehlt!
echo.
echo Aufruf ist %~n0%~x0 "Datei"
:end
echo.
pause
In den Zeilen 4-6 muss natürlich jeder seine eigenen Daten eingeben und der Order muss auf dem Webserver vorhanden sein.
Die Datei heißt bei mir my-blog-screenshots.bat. Man kann aber alle Dateitypen hochladen und daher auch ein anderes Verzeichnis sowie einen anderen Namen wählen. Das ist jedem selbst überlassen.
Zum Schluss noch eine Verknüpfung im "Senden an" Ordner anlegen und schon kann man schön via Windows Explorer Bilder hochladen. Dazu einfach Dateien markieren > rechte Maustaste > Senden an > my-blog-screenshots
Der "Senden an" Ordner befindet sich unter Windows 7 übrigens hier:
C:\Users\Benutzername\AppData\Roaming\Microsoft\Windows\SendTo\
Wobei auch hier jeder selber Benutzername durch seinen eigene Anmeldenamen ersetzten sollte.
Wer nicht tippen will, kann hier klicken...

Ein Kommentar
So was in der Art hatte ich früher auch. Allerdings auf VBScript-Basis
Samstag, den 05.03.2011 um 17:07 #