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, 10223 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
Linux Tools
CURL mehrere Dateien vom ftp-Server herunterladen (10)

Frage von highpriest zum Thema Linux Tools ...

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

Frage von mschaedler1982 zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

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

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (35)

Frage von FA-jka zum Thema Windows 10 ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (15)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...