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

Dateien per Batch vom FTP löschen?

Frage Entwicklung Batch & Shell

Mitglied: Reisszahn2009

Reisszahn2009 (Level 1) - Jetzt verbinden

18.10.2009 um 14:35 Uhr, 10335 Aufrufe, 3 Kommentare

Hi zusammen,
ich habe ein kleines Problem mit dem automatischen Löschen von FTP-Dateien.
Vielleicht kann mir einer von euch helfen?

01.
@echo off 
02.
 
03.
rem Parameter einlesen 
04.
set ftpuser=%1 
05.
set ftppass=%2 
06.
set ftpip=%3 
07.
set ftplog=%4 
08.
set ftplimit=%5 
09.
 
10.
rem Uebertragungsdatei bauen, um Dateiliste zu holen 
11.
echo user %ftpuser%> ftpcmd.dat 
12.
echo %ftppass%>> ftpcmd.dat 
13.
echo ls>> ftpcmd.dat 
14.
echo quit>> ftpcmd.dat 
15.
 
16.
ftp -n -s:ftpcmd.dat %ftpip% 1>%ftplog% 2>>&1 
17.
 
18.
rem Uebertragungsdatei2 bauen, um Dateien zu löschen 
19.
echo user %ftpuser%> ftpcmd2.dat 
20.
echo %ftppass%>> ftpcmd2.dat 
21.
 
22.
FOR /F "skip=%ftplimit%" %%d IN ('find /i "Backup" %ftplog%') DO ( 
23.
  echo delete %%d>>ftpcmd2.dat 
24.
  echo %%d geloescht! 
25.
26.
 
27.
echo quit>> ftpcmd2.dat 
28.
 
29.
ftp -n -s:ftpcmd2.dat %ftpip% 1>%ftplog% 2>>&1 
30.
 
31.
del %ftplog% 
32.
del ftpcmd.dat 
33.
del ftpcmd2.dat 
34.
 
35.
pause 
36.
 
37.
:end
Wie man sieht bekommt das Script ein paar Parameter übergeben. Das funktioniert auch alles. Das Problem ist die FOR-Schleife. Der "find /i"-Befehl hängt an jede gefundene "Backup-Datei" einen Zeilenumbruch. Dies kann man z.B. mit dem Notepad++ sehen (mit dem Windows-Notepad nicht). Wenn man diese Datei jetzt an den FTP übergibt meldet dieser, "Datei nicht gefunden" -> Eben aufgrund des Zeilenumbruch-Zeichens...
Hat einer eine Idee wie ich das Zeichen entfernen kann? Oder Alternativ, wie man das Script so umbauen kann, das es auf einem FTP 10 Dateien abzählt und ab der 11. löscht?

Vielen Dank

Gruß Reisszahn
Mitglied: 60730
18.10.2009 um 16:23 Uhr
Servus,

mangels Winblows @Home - kann ich nur einen ungetesteten Tipp abgeben.

Zeile 28: type ftpcmd2.dat ftp_cmd2.dat
29.ftp -n -s:ftp_cmd2.dat %ftpip% 1>%ftplog% 2>>&1

Probiers mal aus - wie geschrieben ungetestet.

Gruß
Bitte warten ..
Mitglied: Reisszahn2009
18.10.2009 um 16:53 Uhr
Leider nein. Was soll der Type-Befehl bringen?
Auch wenn man die Ausgabe mit ">" übergibt, bringt es nichts
Bitte warten ..
Mitglied: Reisszahn2009
23.10.2009 um 08:29 Uhr
Realisiert mit einem Tool namens "rpl" (http://sourceforge.net/projects/gnuwin32/files/rpl/1.4.1-1)

01.
rem Teil III.I - Mit Kommando "rpl" die CR-Zeichen am Ende entfernen 
02.
rem -------------------------------------------------- 
03.
for /f "delims== tokens=1,2" %%i in ('findstr "toolsdir" config.ini') do @set toolsdir=%%j 
04.
%toolsdir%\rpl\bin\rpl.exe -q -e "\r" "" ftpcmd2.dat 1>nul 2>>&1
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 älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei: PDF Dateien verschieben, umbenennen und löschen (4)

Frage von F0rcehunter zum Thema Batch & Shell ...

Batch & Shell
Batch mit forfiles - Dateiendung filtern - Dateien löschen (2)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (30)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...