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 Bat-Script FTP bestimmte Dateien und Unterordner

Mitglied: SGW-entertainment

SGW-entertainment (Level 1) - Jetzt verbinden

17.10.2011 um 21:49 Uhr, 4276 Aufrufe, 3 Kommentare

Hallo Admins, vielen Dank für das tolle Forum. In meiner Branche hat es sehr oft nützlich geholfen. Aber nun hier eine Situation die ich leider hier noch nicht umsetzen konnte....


Mein Problem bzw. Umsetzungsversuch:


Ich möchte via .bat ein FTP-Upload umsetzen. Soweit kein Problem!
Jedoch möchte ich in einem bestimmten Ordner UND UNTERORDNER nur bestimmte Dateien hochladen.
Mit mput *.dateiendung auch kein Problem. Jedoch wirkt das nicht für alle weiteren Unterordner, und sind hier wohl auch mehrere hundert Dateien möglich, wobei ja mput ausfallen würde.

Ich habe es mal versucht mit *\*.dateiendung, aber das brachte auch nicht die Lösung.


Nun habe ich ein kleines Script geschrieben, welches mit alle *.dateiendungen in eine Textdatei (sehr unzuverlässig, siehe unten) exportiert. Diese lese ich dann wieder ein, und setze ein einfaches "put" davor. So habe ich einen kompletten Pfad und speichere dies dann in eine .ftp ab, welche dann mit:
ftp -v -s:datei.ftp abgearbeitet wird.

dir /b /s pfad\ *.jpg>%tmp%\files.txt
dir /b /s pfad\*.xml>>%tmp%\files.txt
dir /b /s pfad\*.html>>%tmp%\files.txt
dir /b /s pfad\*.php>>%tmp%\files.txt
dir /b /spfad\*.css>>%tmp%\files.txt

Wenn man die Ordnerstrucktur behalten könnte wäre das ein "nice to have", ist aber nicht zwingend erforderlich.....

Dieses setze ich wie schon oben beschrieben in die .ftp -> FOR /f %%f IN (%tmp%\files.txt) DO echo put %%f>>%tmp%\test.ftp

Somit zeigt er jedoch nicht nur alleine die Dateien, sondern auch den Pfad ohne Datei an.

Bsp:

C:\pfad\pfad2\datei.dateiendung (richtig)
C:\pfad\pfad2\file.dateiendung (richtig)
C:\pfad\pfad2\ (falsch)

Zusätzlich brichter den Pfad ab, sobald im Pfad ein leerzeichen enthalten ist.....
Weiterhin lädt er auch nicht alle Dateien hoch, sondern bricht irgentwann mal ab, ohne Fehlermeldung oder ersichtlichen Grund.


Mit diesem Script bin ich swoeit nicht zufrieden, weil es meiner Meinung nach sehr unzuverlässig ist und Fehler schlecht vorbeugen kann..... (was natütlich an meiner mangelder Scriptrfähigkeit zurückzuführen ist)


Kann mir jemand bitte eine Lösungsansatz geben, wie ich mein Problem besser umsetzen kann....


Nochmal zur Wiederholung:

Ich habe einen bestimmten Ordner, und in diesem möchte ich bestimmte, vorher definierte Dateien hochladen. Dabei soll er auch nachfolgend alle Unterodner nach der selben Dateiendung absuchen und diese hochladen. Wie gesagt: Wenn man dabei die Ordnerstrucktir bebehalten könnte, wäre es super, ist aber kein muss!

Vielen Dank


MFG Heinrich
Mitglied: bastla
17.10.2011 um 22:33 Uhr
Hallo SGW-entertainment und willkommen im Forum!

Einigen der Probleme sollte mit etwas Genauigkeit beizukommen sein:
01.
 >%tmp%\files.txt dir /b /s /a-d pfad\*.jpg 
02.
>>%tmp%\files.txt dir /b /s /a-d pfad\*.xml 
03.
>>%tmp%\files.txt dir /b /s /a-d pfad\*.html 
04.
>>%tmp%\files.txt dir /b /s /a-d pfad\*.php 
05.
>>%tmp%\files.txt dir /b /s /a-d pfad\*.css
sollte zB (aufgrund des entfernten überzähligen Leerzeichens in Zeile 1 und weil zusätzlich Verzeichnisse ausdrücklich ausgeschlossen werden) nur noch passende Dateien in die Liste aufnehmen (wobei
01.
pushd pfad 
02.
>%tmp%\files.txt dir /b /s /a-d *.jpg *.xml *.html *.php *.css 
03.
popd
auch schon genügen sollte) ...
Dem Leerzeichenproblem in Pfad-/Dateinamen solltest Du damit beikommen:
for /f "delims=" %%f in (%tmp%\files.txt) do echo put "%%f">>%tmp%\test.ftp
Zu den Abbrüchen kann ich allerdings nix sagen ...

Grüße
bastla

P.S.: Darf ich Dir die Verwendung der "Code"-Formatierung (lässt sich auch nachträglich noch einfügen ) nahe legen?
Bitte warten ..
Mitglied: SGW-entertainment
17.10.2011 um 22:49 Uhr
Danke für die schnelle Antwort ;)

Ja, ich werde die Formatierung benutzen, hast Recht, ist besser so

Ich habe das nun auch zwichenzeitig eleganter lösen können.....

01.
 
02.
cd %userprofile%\Pfad\ 
03.
for /r %%d in (*.jpg) do echo put "%%d">>test.ftp 
04.
for /r %%d in (*.html) do echo put "%%d">>test.ftp 
05.
for /r %%d in (*.php) do echo put "%%d">>test.ftp 
06.
for /r %%d in (*.css) do echo put "%%d">>test.ftp 
07.
for /r %%d in (*.log) do echo put "%%d">>test.ftp 
08.
 
09.
cd %userprofile%\\andererPfad\ 
10.
for /r %%d in (*.xml) do echo put "%%d">>test.ftp 
11.
for /r %%d in (*.txt) do echo put "%%d">>test.ftp 
12.
 
Den Ordner kann ich so vorher gut festlegen. Behandelt nun auch die Unterordner. Es kommen nur Dateien mit kompletten Pfad! Leerzeichen werden unterstützt Landet direkt in der zu behandelten Datei, ohne Zwischenschritt!

Dann natürlich die .ftp ausführen mit entsprechendem Befehl, fertig ;)
Bitte warten ..
Mitglied: bastla
17.10.2011 um 23:07 Uhr
Hallo SGW-entertainment!

Auch das lässt sich noch kompakter formulieren:
for /r "%userprofile%\Pfad" %%d in (*.jpg *.html *.php *.css *.log) do echo put "%%d">>test.ftp
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
FTP Download Script mit Unterordnern
gelöst Frage von steftsBatch & Shell4 Kommentare

Hallo zusammen, ich möchte den Inhalt eines kompletten FTP-Servers lokal via Script unter Windows speichern, scheitere aber daran, dass ...

Batch & Shell

bat script für kopieren mehrerer Unterordner

gelöst Frage von ChrisBoahBatch & Shell3 Kommentare

Hallo! Leider habe ich nahezu keine Erfahrung mit batch programmierung. Ich suche ein script welches mir von mehreren Ordnern ...

Batch & Shell

BAT Datei zum Löschen bestimmter Dateien nach Muster in mehreren Ordnern und Unterordnern

gelöst Frage von AndreasGiBatch & Shell3 Kommentare

Hallo Forum! folgende Konstellation: nach mehr oder weniger erfolgreicher Datenrettung habe ich knapp 400 GB an Daten. Darunter ist ...

Batch & Shell

Dateien mit bestimmten Namen in allen Unterordnern umbenennen

Frage von koehneBatch & Shell2 Kommentare

Hi, ich bräuchte mal fix eure Hilfe, weil ich nicht weiterkomme. Ich habe in einem Ordner mehrere Unterordner. In ...

Neue Wissensbeiträge
Datenschutz

Die Datenkrake Google verlängert ihr Arme mal wieder ein wenig, automatische Anmeldung

Tipp von magicteddy vor 1 TagDatenschutz2 Kommentare

Benutzer mit einem Google Account und gespeicherten Zugangsdaten werden von chrome 69 automatisch bei Google angemeldet, natürlich alles zum ...

Verschlüsselung & Zertifikate
Meine Wissenssammlung zu Bitlocker
Erfahrungsbericht von DerWoWusste vor 2 TagenVerschlüsselung & Zertifikate3 Kommentare

Die Motivation für diesen Beitrag waren die vielen Posts rund um dieses Thema, die deutlich machen, wie viele Einzelaspekte ...

E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 4 TagenE-Mail11 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 4 TagenHyper-V1 Kommentar

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Heiß diskutierte Inhalte
E-Mail
Welche ist die beste E-Mail Groupware für die Zukunft?
Frage von ITCrowdSupporterE-Mail20 Kommentare

Guten Tag allerseits :) Ich möchte mich mit einer Frage heute mal an die Schwarmintelligenz wenden. Aktuell befasse ich ...

Windows Server
In-Place Upgrade von Windows Server 2008 R2 Datacenter zu Windows Server 2016 Datacenter (Zwischenschritt über 2012 R2)
gelöst Frage von TowerpleaseWindows Server16 Kommentare

Hallo Administratoren, Wir haben uns vor ein paar Monaten Windows Server 2016 Datacenter Lizenzen gekauft und wollen nun unsere ...

Windows 7
Mit gpedit gesetzte Richtlinien in rsop.msc nicht definiert und ausgegraut
gelöst Frage von 137006Windows 715 Kommentare

Hallo zusammen, anfangs verweise ich fairerweise daruf dass ich dieses Thema bereits im Forum angeschnitten habe, nachdem ich hier ...

Firewall
Wesyb Offline
Frage von DkuehlbornFirewall14 Kommentare

Hallo Kollegen, ein Kunde hat von Wesyb die Sicherheitslösung im Einsatz. Seit August scheint deren Internetseite nicht mehr verfügbar ...