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
GELÖST

DOS FTP Upload von Dateien in unbekannten Unterordner

Frage Entwicklung Batch & Shell

Mitglied: Cowboy

Cowboy (Level 1) - Jetzt verbinden

18.02.2011, aktualisiert 17:55 Uhr, 5539 Aufrufe, 6 Kommentare

Hi,
habe eine Frage...
und zwar hab ich ne Batch Datei, welche eigentlich Bilder vom Ordner c:\users\%Username%\Pictures\ uploaden soll.
jetzt hab ich folgendes geschrieben:

@ftp -i -s:"%~f0"&GOTO:EOF
open irgendeinServer123.de.funpic.de
Username
Passwort
cd bilder
lcd ..
lcd Pictures
binary
mput *.*
bye

jetzt aber das problem: Die unterordner werden leider nicht mit geuploaded, weil es ja nur dateien uploaded...
hat jemand vielleicht eine lösung?
(ich hab nicht so viel ahnung von den automatisierten DOS :D also IF und sowas kann ich eig gar nich mit umgehen, weswegen es schön wäre, wenn man jede einzelne Zeile für mich erklären könnte und möglichst auch die parameter ... also ich kann ein bisschen Visual Basic, weswegen ihr mir nicht erklären müsst was ne variable ist und was ne variablendeklaration)

schonmal danke im vorraus
MfG Cowboy

[Edit Biber] Servernamen verallgemeinert [/Edit]^^
Mitglied: bastla
18.02.2011 um 17:27 Uhr
Hallo Cowboy und willkommen im Forum!

Falls ich das richtig verstanden habe, könnte es so gehen:
01.
@echo off & setlocal 
02.
set "Bilder=D:\Pictures" 
03.
 
04.
set "Script=%temp%\upload.txt" 
05.
> "%Script%" echo open Server 
06.
>>"%Script%" echo Username 
07.
>>"%Script%" echo Passwort 
08.
>>"%Script%" echo cd bilder 
09.
>>"%Script%" echo lcd "%Bilder%" 
10.
>>"%Script%" echo binary 
11.
for /f "delims=" %%i in ('dir /b /ad "%Bilder%"') do >>"%Script%" echo mput "%%i" 
12.
>>"%Script%" echo mput *.* 
13.
>>"%Script%" echo bye 
14.
echo Scriptinhalt: 
15.
type "%Script%" 
16.
pause 
17.
ftp -i -s:"%Script%" 
18.
del "%Script%"
wobei die Zeilen 14 bis 16 nur zum Testen da sind. Es würde sich übrigens anbieten, in Zeile 2 zunächst einen Pfad zu einem Testordner mit nur ein paar Bildern und 2 Unterordnern anzugeben - damit sollte schon deutlich werden, ob der Ablauf Deinen Vorstellungen entspricht.

Nachdem der Inhalt des Scripts auf dem Bildschirm ausgegeben wurde, kannst Du übrigens den tatsächlichen Upload noch per Strg + c bzw Strg + Pause-Taste verhindern ...

Noch eine kurze Erklärung des Ablaufes: Das Upload-Script wird erst zur Laufzeit im Temp-Ordner erstellt (und danach auch wieder gelöscht), damit alle Unterordner einzeln per "mput Ordnername" übertragen werden können. Dazu wird mit der "for /f"-Schleife jeder Unterordner des in %Bilder% stehenden Basispfades abgeklappert - wenn Du das nachvollziehen willst, einfach in einer CMD-Shell
for /f "delims=" %i in ('dir /b /ad "D:\Bilder"') do echo mput "%i"
eingeben - dabei wird nur eine Bildschirmausgabe erzeugt und nix erstellt oder hochgeladen. Bitte beachten: In einem Batch werden für Laufvariable einer Schleife (hier: %%i) 2 Prozentzeichen geschrieben, bei Direkteingabe an der Kommandozeile nur eines.

Grüße
bastla

P.S.: Die Zeile 5 musst Du natürlich an den Namen Deines Servers (den ich ganz nebenbei nicht hier veröffentlichen würde) anpassen ...
Bitte warten ..
Mitglied: Cowboy
18.02.2011 um 21:48 Uhr
funktioniert leider nicht... es ladet trotzdem nur die bilder im hauptordner hoch...
also beim laden des Ordners Test231 kommt dann
ftp> mput "Test231"
"Fehler beim laden der lokalen Datei ???1."

ich denke, dass der fehler bei der zeile
for /f "delims=" %%i in ('dir /b /ad "%Bilder%"') do >>"%Script%" echo mput "%%i"
liegt... vielleicht eine andere variable als "%%i"...
hier das hier hab ich auch noch gefunden... weil "%%i" dann im kompletten pfad als "C:\Users\%Username%\Pictures\"Test231"\" angezeigt werden würde, was fehler hervorrufen würde...
aber wie ich das genau verändern muss weiss ich auch nicht genau
Bitte warten ..
Mitglied: bastla
18.02.2011 um 21:59 Uhr
Hallo Cowboy!
vielleicht eine andere variable als "%%i"...
... bringt genau keinen Unterschied ...
weil "%%i" dann im kompletten pfad als "C:\Users\%Username%\Pictures\"Test231"\" angezeigt werden würde, was fehler hervorrufen würde...
Wird es aber nicht, was Du leicht nachvollziehen kannst, indem Du einen Blick in das (genau zu diesen Testzwecken angezeigte) Skript wirfst (oder einfach nur die Zeile
ftp> mput "Test231"
richtig interpretierst) ...
aber wie ich das genau verändern muss weiss ich auch nicht genau
No problem, musst Du ohnehin nicht ...
Vermutlich (ich habe das nicht getestet) wird mit
mput "Test231"
eben nicht, wie geplant, der Ordner übertragen, sondern "Test231" als Dateiname interpretiert, obwohl im Web die Behauptung
"Windows ftp client can do folders. Just do mput <foldername>"
zu finden war ...
Na gut, dann eben ganz ausführlich:
01.
@echo off & setlocal 
02.
set "Bilder=D:\Pictures" 
03.
 
04.
set "Script=%temp%\upload.txt" 
05.
> "%Script%" echo open Server 
06.
>>"%Script%" echo Username 
07.
>>"%Script%" echo Passwort 
08.
>>"%Script%" echo cd bilder 
09.
>>"%Script%" echo lcd "%Bilder%" 
10.
>>"%Script%" echo binary 
11.
for /f "delims=" %%i in ('dir /b /ad "%Bilder%"') do ( 
12.
    echo mkdir "%%i" 
13.
    echo cd "%%i" 
14.
    echo mput "%%i\*.*" 
15.
    echo cd .. 
16.
)>>"%Script%" 
17.
>>"%Script%" echo mput *.* 
18.
>>"%Script%" echo bye 
19.
echo Scriptinhalt: 
20.
type "%Script%" 
21.
pause 
22.
ftp -i -s:"%Script%" 
23.
del "%Script%"
Grüße
bastla
Bitte warten ..
Mitglied: Cowboy
19.02.2011 um 10:59 Uhr
Vielen Dank...
es hat jetzt geklappt... bis auf die parameter /f, /b, /ad... hab ich das programm sogar verstanden
wo lernt man sowas? ich würd auch gerne ein bisschen mehr mit skripts in den batchdateien arbeiten können...

aber sonst ist das problem gelöst^^ kann ich auch gut dafür verwenden, wenn ich an ner homepage schreibe oder so
Bitte warten ..
Mitglied: bastla
19.02.2011 um 11:26 Uhr
Hallo Cowboy!

Freut mich, wenn's jetzt klappt ...
bis auf die parameter /f, /b, /ad... hab ich das programm sogar verstanden
Kannst Du ja einfach nachlesen: "dir /?", "for /?" - und dazu auch das passende Tutorial ...
wo lernt man sowas?
Na hier natürlich (und ansonsten, wie so vieles, by doing) ...

Grüße
bastla
Bitte warten ..
Mitglied: Cowboy
19.02.2011 um 14:42 Uhr
thx nochmal für den link ^^
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Ftp Upload von Dateien aus zwei Ordnern
gelöst Frage von eisshake1Batch & Shell2 Kommentare

Hallo ich habe eine Frage. Ich hoffe mir kann jemand helfen :) Ich würde gerne per Ftp (oder WinScp ...

Batch & Shell
Batch passives FTP upload
gelöst Frage von weltklasseBatch & Shell2 Kommentare

Hallo, ich versuche per Batch eine Textdatei auf einen FTP-Server hochzuladen. Es handelt sich um einen "passiven FTP-Zugriff". Leider ...

Netzwerkgrundlagen
Ftp upload Geschwindigkeit sehr langsam??
gelöst Frage von SteffenBNetzwerkgrundlagen14 Kommentare

Hallo liebe User, ich hoffe das ist das richtige Thema für meine Fragen!? Ich bin ein ganz normaler Endnutzer ...

Batch & Shell
Batch FTP upload bricht nach x Dateien ab
gelöst Frage von ecologyBatch & Shell8 Kommentare

Hallo Zusammen Ich habe eine Batch Datei erstellt, welche mir meine Bilder automatisch verkleinert und danach auf meinen Server ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 6 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 10 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 10 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 14 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server15 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...