Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Batch FTP, Verarbeitungsfehler durch FTP-Server

Frage Entwicklung Batch & Shell

Mitglied: mybusiness1987

mybusiness1987 (Level 1) - Jetzt verbinden

02.08.2012, aktualisiert 10:58 Uhr, 2993 Aufrufe, 5 Kommentare

Hallo, habe folgendes Codestück...

for /f "tokens=4*" %%i in (%LASTLW%\FTP-Sync\doku.log) do (if not exist "%LASTLW%\ebt\doku\%%i %%j" echo del %%i %%j>>ftp.txt)

...das mir eine LOG-Datei (dir-Ausgabe von einem FTP Verzeichnis) mit einem Verzeichnis abgleicht. Wenn im Verzeichnis nicht die passende Datei zum String in der LOG gefunden wurde, wird ein delete-Befehl zusammen mit dem String aus der LOG ausgegeben um die Datei, die auf dem FTP existiert, aber im lokalen Verzeichnis nicht existiert, geöscht wird.

Hier ein Beispiel der Ausgabe:

del KR 11-034-1 (Btw. S12345 Test).doc

Der Befehl wird an den FTP übermittelt, aber leider verarbeitet der FTP diesen anscheinend nicht, da die Dateien leider nicht gelöscht werden.

Ich vermute, dass es an den Leerzeichen im Dateinamen liegt, denn wenn ich das ganze manuell abändere (den Dateinamen in Anführungszeichen setze), also so...

del "KR 11-034-1 (Btw. S12345 Test).doc"

... dann verarbeitet der FTP das ganze auch ohne Probleme und löscht die Datei.

Meine Frage ist nun, wie ändere ich das Codestück oben um, dass er mir die Ausgabe genau so (Dateiname in Anführungszeichen) ausgibt?

Habe verucht die Variablen in der Ausgabe in Anführungszeichen zu setzen,...

for /f "tokens=4*" %%i in (%LASTLW%\FTP-Sync\doku.log) do (if not exist "%LASTLW%\ebt\doku\%%i %%j" echo del "%%i %%j">>ftp.txt)

...aber so erfolgt dann garkeine Ausgabe.

Hoffe mir kann jemand helfen, danke schon mal.

Gruß Armin
Mitglied: bytecounter
02.08.2012 um 16:37 Uhr
Hallo Armin,

Du könntest mal versuchen, die Anführungszeichen zu entwerten:
echo del ^"%%i %%j^">>ftp.txt

vg
Bytecounter
Bitte warten ..
Mitglied: bastla
02.08.2012 um 17:22 Uhr
Hallo mybusiness1987!

Abgesehen davon, dass die zuletzt gezeigte Schreibweise eigentlich funktionieren sollte, könntest du auch den gesamten Dateinamen am Stück bekommen:
for /f "tokens=3*" %%i in (%LASTLW%\FTP-Sync\doku.log) do if not exist "%LASTLW%\ebt\doku\%%j" echo del "%%j">>ftp.txt
Grüße
bastla

P.S.: "Code"-Formatierung ist gar nicht so schwer (und lässt sich auch nachträglich noch hinzufügen ) ...
Bitte warten ..
Mitglied: mybusiness1987
06.08.2012, aktualisiert um 14:35 Uhr
Vielen Dank euch beiden. Habe deine Lösung genommen bastla. Es funktioniert wunderbar, aber irgendwie fehlt mir da das verständnis!?

Der Eintrag in der dir-Ausgabe bzw. LOG sieht ja folgendermaßen aus:

08-01-12 05:33PM 65024 KR 11-034-1 (Btw. S12345 Test).doc

Erster token wäre doch = 08-01-12
Zweiter Token = 05:33PM
Dritter = 65024

erst der vierte und alle weiteren wären doch der Dateiname!? Deswegen hatte ich bei mir auch 4* und nicht 3*

Anscheinend verstehe ich das irgendwie falsch!? Könntest du mir das bitte kurz etwas genauer erläutern?
Bitte warten ..
Mitglied: bastla
06.08.2012 um 15:01 Uhr
Hallo mybusiness1987!
erst der vierte und alle weiteren wären doch der Dateiname!?
Yep - deswegen auch die Anforderung "Token 3 und den Rest am Stück", wobei Token 3 als %%i geliefert wird und der Rest daher als %%j - das wird dann letztlich auch für das Löschen verwendet ...

Grüße
bastla
Bitte warten ..
Mitglied: mybusiness1987
06.08.2012 um 15:21 Uhr
Alles klar, vielen Dank

Grüße
Armin
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch datei zum Hochladen von Datein auf ftp server (2)

Frage von loxymus zum Thema Batch & Shell ...

Entwicklung
gelöst Automatisierter Ordnerupload auf FTP Server (10)

Frage von PixL86 zum Thema Entwicklung ...

Netzwerkprotokolle
Per batch und ftp eine Datei in Receiver schreiben (4)

Frage von femi1100 zum Thema Netzwerkprotokolle ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Gebäude mit WLAN ausstatten (9)

Frage von udobec zum Thema LAN, WAN, Wireless ...