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, 10028 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
gelöst Per Batch FTP-Server Dateien ändern (1)

Frage von Marlon1 zum Thema Batch & Shell ...

Linux Tools
CURL mehrere Dateien vom ftp-Server herunterladen (10)

Frage von highpriest zum Thema Linux Tools ...

Batch & Shell
gelöst Powershell: Dateien nach Version löschen in mehreren Ordnern (4)

Frage von ImmerKind zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien mit Powershell löschen und nur leere (symbolische) Datei hinterlassen (6)

Frage von evolution zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...