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

Batch FTP, Verarbeitungsfehler durch FTP-Server

Frage Entwicklung Batch & Shell

Mitglied: mybusiness1987

mybusiness1987 (Level 1) - Jetzt verbinden

02.08.2012, aktualisiert 10:58 Uhr, 2979 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 ...

Netzwerkmanagement
Dateien für einmaligen Download auf einen FTP Server ermöglichen (6)

Frage von staybb zum Thema Netzwerkmanagement ...

Windows Netzwerk
gelöst FTP-Server per DHCP an Client übergeben (7)

Frage von BarracoBarner zum Thema Windows Netzwerk ...

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

Frage von PixL86 zum Thema Entwicklung ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(40)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Exchange Server
gelöst RU 17 Exchange 2010 . Erfahrungen? (10)

Frage von keine-ahnung zum Thema Exchange Server ...

Datenbanken
gelöst MySQL Zeiterfassungs-Problematik (wer ist eingecheckt) (9)

Frage von NativeMode zum Thema Datenbanken ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (8)

Frage von ahaeuser zum Thema Windows Server ...