Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Batch-Datei zum Hochladen von Grafiken (cmd)

Frage Entwicklung Batch & Shell

Mitglied: Carnap

Carnap (Level 1) - Jetzt verbinden

30.04.2010, aktualisiert 02.05.2010, 3979 Aufrufe, 6 Kommentare

Gesucht: Skript, das rekursiv für alle Garfikdateien in einem Ordner den Befehl image2dev.bat E:\uploads\image<n>.jpg ausführt.

System: Windows XP pro, SP 3

Ich muss regelmäßig große Megen an Grafiken auf einen Server hochladen. Dazu werfe ich zuerst die Grafiken (image1.jpg, image2.jpg, ...) lokal in einen Ordner E:\grafiken.
Zum Kopieren stellt die IT-Abteilung ein Skript "image2dev.bat" zur Verfügung. Dieses darf ich nicht angreifen, sondern darf es in weiteren Skripts nur verwenden.

Was ich nun tun muss, ist das: Ich wechsle in den Ordner, in dem image2dev.bat sitzt, also nach U:\Ordner1\Ordner2\Ordner3, und dann rufe ich für jede Datei, die ich hochladen will, das Programm mit dem Pfad zur jeweiligen Grafik-Datei als Argument (sagt man so?) auf:

image2dev E:\grafiken\image1.jpg [enter]
Dann warte ich ein paar Sekunden. Wenn es fertig ist, die nächste:
image2dev E:\grafiken\image2.jpg [enter]
Wenn es fertig ist, die nächste:
image2dev E:\grafiken\image3.jpg [enter]
usw.

Das kann bis zu 150 Mal so weitergehen. Ich sag euch, ich tippe mir noch einen Wolf.

Meine Frage: Wie stelle ich es an, ein Skript mit folgender Funktion zu schreiben:

1) Ich lege das Skript "raufkopieren.bat" in den Ordner mit den Grafiken, also nach E:\grafiken.
2) Das Skript sucht nun im Ordner E:\grafiken nach Dateien mit der Endung *.jpg und führt dann nacheinander die Befehle aus, die ich eintippen muss.
3) Wenn die letzte Datei hochgeladen ist, bleibt es stehen.
4) Wichtig: Das Skript wartet ab, bis der Vorgang des Hochladens abgeschlossen ist und setzt erst dann den nächsten Befehl ab.

Wie stelle ich so etwas an?

Carnap

Edit 02.05.2010: Tippfehler entfernt.
Mitglied: Midivirus
30.04.2010 um 08:43 Uhr
interessatn wäre, wie du sie hochlädst, also welches Protokoll (FTP?)

Wenn die Intelligenz der Batch bekannt ist, können wir dazu etwas sagen!

Ansonsten kurz mal danach suchen, wie man mit Batch einen Ordnerinhalt auflistet etc.

Es heißt Parameter ;)
Bitte warten ..
Mitglied: bastla
30.04.2010 um 08:47 Uhr
Hallo Carnap!

Sollte sich (ohne der IT-Abteilung ins Gehege zu kommen ) etwa so lösen lassen (jeweils ungetestet):
01.
@echo off & setlocal 
02.
set "Basis=E:\Grafiken" 
03.
set "Script=U:\Ordner1\Ordner2\Orderner3\image2dev.bat" 
04.
 
05.
pushd "%Basis%" 
06.
for /f "delims=" %%i in ('dir /b *.jpg') do call "%Script%" "%%i" 
07.
popd 
08.
echo Fertig.
Sollte es tatsächlich erforderlich sein, vorweg in den "Script-Ordner" zu wechseln, dann:
01.
@echo off & setlocal 
02.
set "Basis=E:\Grafiken" 
03.
set "Scriptordner=U:\Ordner1\Ordner2\Orderner3" 
04.
set "Script=image2dev.bat" 
05.
 
06.
pushd "%Scriptordner%" 
07.
for /f "delims=" %%i in ('dir /b "%Basis%\*.jpg"') do call "%Script%" "%Basis%\%%i" 
08.
popd 
09.
echo Fertig.
Grüße
bastla

[Edit] Fehlendes Prozentzeichen in Zeile 7 ergänzt [/Edit]
Bitte warten ..
Mitglied: Carnap
30.04.2010 um 11:00 Uhr
Hallo bastla,

ganz herzlichen Dank für die Mühe. Ich bin mir bewusst, dass meine Frage vielleicht etwas keck rübekommt (Problem: ... Bitte macht mal...),
der Punkt ist nur, dass ich über das Wochenende ein paar Hundert Dateien auf den Server kopieren soll und ich auf die Schnelle nicht weiß, woher ich mir die Grundlagen der Batch-Programmierung holen soll.

Ich habe das erste Skript wie folgt angepasst:

@echo off & setlocal
set "Basis=E:\image_upload"
set "Script=T:\CAMPUSonline\Applications\Tools\image2dev.bat"
pushd "%Basis%"
for /f "delims=" %%i in ('dir /b *.jpg') do call "%Script%" "%%i"
popd
echo Fertig.

Wie gesagt, das eigentliche Kopierskript "image2dev.bat" darf ich nicht anrühren, ich darf es aber in Batch-Dateien verwenden.
Ich habe das Skript versucht und dabei folgende Fehlermeldung bekommen:

http://www.pic-upload.de/view-5469947/skript_fehler01.png.html

Weißt du vielleicht, woran es haken könnte?

--> Wenn die Frage zu sehr ins Detail geht, bi8tte ignorieren, ich werde dann nicht mehr lästig fragen.
Jedenfalls besten Dank schon Mal.

Carnap
Bitte warten ..
Mitglied: bastla
30.04.2010 um 11:09 Uhr
Hallo Carnap!
Weißt du vielleicht, woran es haken könnte?
Das zwar nicht - aber vielleicht versuchst Du es noch mit der zweiten Variante (Achtung: In Zeile 7 habe ich noch ein Prozentzeichen ergänzt) ...

Grüße
bastla

P.S.:
... ich werde dann nicht mehr lästig fragen.
Kein Problem - ich muss ja im Fall des Falles nicht antworten ...
Bitte warten ..
Mitglied: Carnap
30.04.2010 um 11:40 Uhr
Hi Bastla,

E S F U N K T ! ! !

Ganz ganz herzlichen Dank. Das zweite Skript funktioniert tadellos. Du kannst dir kaum vorstellen, wie es einem geht, der seit drei Wochen durcharbeitet, eigentlich keine Zeit für die Einarbeitung in ein neues Thema hat und dann solch eine Hilfe bekommt.
Danke.

Carnap
Bitte warten ..
Mitglied: Midivirus
30.04.2010 um 16:44 Uhr
wieder einen glücklich gemacht ...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch datei zum Hochladen von Datein auf ftp server (2)

Frage von loxymus zum Thema Batch & Shell ...

Batch & Shell
gelöst Bestimmte Daten aus CSV per Windows BATCH Datei in .txt Format schreiben lassen. (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Windows Netzwerk
gelöst Netzwerkpfad per Batch-Datei (6)

Frage von AveiroCR7 zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Batch Datei: ECHO ist ausgeschaltet (OFF) (3)

Frage von twiceface zum Thema Batch & Shell ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...