Top-Themen

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

neue Ordner auf FTP Server per Mail versenden

Mitglied: 6741

6741 (Level 2)

06.11.2007, aktualisiert 20.01.2008, 4330 Aufrufe, 11 Kommentare

Hallo,

ich möchte einen FTP Server ( bzw den Pfad c:\ftp\ordner ) checken, ob es neue Ordner seit dem letzten Check gibt.

Diese dif soll dann per Mail versendet werden.

Der Befehl:

dir /s /b c:\ftp\ordner\*. > c:\ftpcheck\ftp_neu.txt

gibt mir nur den gesamten Ordner an.

Ich möchte aber eine dif Prüfung zum letzten Check machen.

Es kann in den Ordner c:\ftpcheck eine Datei abgelegt werden die den letzen Stand der Prüfung hat und diese müssten dann für den nächsten check geprüft werden.

Gruß
Mitglied: bastla
07.11.2007 um 20:15 Uhr
Hallo firewalldevil!

Auf Basis eines Tutorials von Bitsqueezer (aber wieder in Batch) könnte ich folgende Variante zum Testen anbieten (das Versenden der Mail mit "blat.exe" ist nur angedeutet, aber bei Bedarf mehrfach hier im Forum nachzulesen):
01.
@echo off & setlocal
02.
set "LOGDIR=C:\ftp"
03.
set "MASK=*.*"
04.
set "LOGFILE=C:\ftpcheck\Log.txt"
05.
set "DIRFILE1=C:\ftpcheck\Content1.txt"
06.

07.
set "DIRFILE2=%temp%\Content2.txt"
08.
set "LOGFILENEW=%temp%\LogNew.txt"
09.
set "LOGFILEDEL=%temp%\LogDel.txt"
10.

11.
dir /s /b /ad /on "%LOGDIR%\%MASK%">"%DIRFILE2%" 2>nul
12.

13.
if exist "%LOGFILENEW%" del "%LOGFILENEW%"
14.
if not exist "%DIRFILE1%" type "%DIRFILE2%">"%LOGFILENEW%" 2>nul & goto :Weiter
15.
for /f "usebackq delims=" %%i in ("%DIRFILE2%") do findstr /B /C:"%%i" "%DIRFILE1%"|findstr /E /C:"%%i">nul||echo %%i>>"%LOGFILENEW%"
16.

17.
if exist "%LOGFILEDEL%" del "%LOGFILEDEL%"
18.
if not exist "%DIRFILE2%" type "%DIRFILE1%">"%LOGFILEDEL%" & goto :Weiter
19.
for /f "usebackq delims=" %%i in ("%DIRFILE1%") do findstr /B /C:"%%i" "%DIRFILE2%"|findstr /E /C:"%%i">nul||echo %%i>>"%LOGFILEDEL%"
20.

21.
:Weiter
22.
if exist "%DIRFILE2%" (move "%DIRFILE2%" "%DIRFILE1%") else (del "%DIRFILE1%" 2>nul)
23.

24.
if exist "%LOGFILE%" del "%LOGFILE%"
25.
if exist "%LOGFILENEW%" echo Neue Verzeichnisse:>"%LOGFILE%" & type "%LOGFILENEW%">>"%LOGFILE%" & echo\>>"%LOGFILE%"
26.
if exist "%LOGFILEDEL%" echo Entfernte Verzeichnisse:>>"%LOGFILE%" & type "%LOGFILEDEL%">>"%LOGFILE%"
27.

28.
if not exist "%LOGFILE%" goto :eof
29.
echo Mail mit "blat.exe" versenden ...
30.
type %LOGFILE%
Die Ausgabe des %LOGFILE%-Inhaltes dient nur Demozwecken (bzw wäre der Hauptteil des Mail-Body).

Grüße
bastla

[Edit] Fehlendes (zweites) Umleitungszeichen ergänzt. [/Edit]
Bitte warten ..
Mitglied: 6741
07.11.2007 um 20:36 Uhr
hi bastla ...

sieht sehr gut aus .... aber ( schitt es kommt immer ein aber .... ;>) )

habe ich zb

c:\ftp\ordner1\neu1
c:\ftp\ordner1\neu2
c:\ftp\ordner2\neu1

werden die Unterordner nicht durchsucht ( einer ja, aber nicht beide ) ... hab ich evtl auch nicht gesagt, aber es wäre super wenn alle Ordner nach neuen Ordner durchsucht werden.

gruß
Bitte warten ..
Mitglied: bastla
07.11.2007 um 21:17 Uhr
Hallo firewalldevil!

Da war mir doch tatsächlich ein ">" von der Schaufel gesprungen ...

... ich hab aber noch ein anderes gefunden und oben eingebaut.

Grüße
bastla
Bitte warten ..
Mitglied: 6741
07.11.2007 um 21:23 Uhr
ich sach mal ....

vielen Dank ...

und respekt ....

gruß
Bitte warten ..
Mitglied: 6741
08.11.2007 um 17:45 Uhr
Hi bastla,

die Überprüfung auf Laufwerksebene geht ja, super ...

Bezug auf den Titel ... also einen FTP Server auslesen, würde das sicher etwas anderes sein.

Jetzt liegen die Daten local auf einem Server der auch FTP Server ist ( Windows ) nutze ich aber einen nicht Windows Server als FTP muss ich mich mit einem Client anmelden.

Kann man dann den Inhalt des FTP Server mit Hilfe eine User auch komplett auslesen und vergleichen.

Hintergrund ist, dass ich die Daten bald auf ein kleines NAS Laufwerke ( 150€ ) legen möchte, welches dann immer an ist und halt auch FTP Server ist, aber nicht Windows.

Gruß
Bitte warten ..
Mitglied: bastla
08.11.2007 um 18:19 Uhr
Hallo firewalldevil!

Eigentlich geht es dann nur um den Ersatz der Zeile
01.
dir /s /b /ad /on "%LOGDIR%\%MASK%">"%DIRFILE2%" 2>nul
zum Erstellen der Ordnerliste - der Rest könnte (unter Berücksichtigung der folgenden Anmerkung zur Technik des Vergleiches) grundsätzlich unverändert bleiben.
Wie werden die Listen verglichen?

Unter der Annahme, dass "findstr" Laufzeitvorteile gegenüber einer "for"-Schleife hat, wird wie folgt versucht, einen Ordnernamen in den gespeicherten Ergebnissen des letzten Durchlaufes zu finden:

Zunächst werden alle Einträge gesucht, deren Anfang exakt mit dem zu prüfenden Ordnernamen übereinstimmt.
In den daraus resultierenden Ergebnissen werden alle Einträge gesucht, deren Ende exakt mit dem zu prüfenden Ordnernamen übereinstimmt.
Jetzt kann das Ergebnis eigentlich nur noch ein oder kein Eintrag sein. Bleibt kein Eintrag über, muss der Ordner neu (bzw - mit vertauschten Listen - entfernt worden) sein.

Dies funktioniert gut, wenn (wie eben in Windows) davon ausgegangen werden kann, dass die Laufwerksangabe ("C:") nur am Anfang, nicht aber mitten in einem per "dir" ausgelesenen Ordnerpfad stehen kann.

Eine derartige Kennung müsste dann auch für die Darstellung der ftp-Ordner-Listings vorausgesetzt (oder erstellt) werden, da zB ein neu erstellter Ordner "alt" (ohne weitere Angabe, wie Laufwerk und/oder Pfad) nicht als neuer Ordner erkannt würde, wenn es bereits einen Ordner "alt und kalt" gäbe.

Grüße
bastla
Bitte warten ..
Mitglied: 6741
20.01.2008 um 14:44 Uhr
noch mal nach gefragt ...

wenn ich den Ordner aufteilen möchte ..

zb für User1 und User2

und nur auf Userebene die Inhalte überprüfen möchte ...

________________________________

dir /s c:\ftp\user1\ > c:\ftpcheck\ftp_neu.txt

fc c:\ftpcheck\ftp_neu.txt c:\ftpcheck\ftp_alt.txt >nul && goto difcheck

:difcheck

fc ftp_neu.txt ftp_alt.txt >dif.txt

find /i "DIR" dif.txt >dif1.txt

find /v /i "<DIR> ." dif1.txt >dif2.txt

type dif2.txt|find /v /i "----------">dif3.txt

c:\ftpcheck\sendemail.exe -f ftpcheck@domain.de -t empfänger -u FTP_Update -s ausgangsserver -xu kontoname -xp kontokennwort -o message-file=c:\ftpcheck\dif3.txt

del ftp_alt.txt

rename ftp_neu.txt ftp_alt.txt

:ende

del dif.txt
del dif1.txt
del dif2.txt
del dif3.txt

pause

_____________________________________________________

es wird alles gecheckt ...

evtl ne Idee ...

gruß
Bitte warten ..
Mitglied: bastla
20.01.2008 um 15:54 Uhr
Hallo firewalldevil!

Irgendwie sehe ich das Problem nicht ...

Wenn Du nicht den gesamten Ordner "C:\ftp", sondern nur den Ordner "C:\ftp\user1" (jeweils inklusive Unterordner) auf Veränderungen überprüfen willst, müsstest Du nur im oben geposteten Batch die erste "set"-Zeile anpassen, also
01.
set "LOGDIR=C:\ftp\user1"
schreiben (womit auch der eigentliche Sinn dieser Zeile erklärt wäre ). Variabel bekommst Du das noch hin, wenn Du entweder eine Eingabe der Art
01.
set /p "LOGDIR=Zu untersuchender Ordner? "
verwendest oder den Batch mit dem entsprechenden Ordner als Parameter aufrufst:
01.
set "LOGDIR=~1"
Natürlich kannst Du auch eine Kombination der Methoden vornehmen, etwa:
01.
set "LOGDIR=C:\ftp"
02.
if [%1] neq [] set "LOGDIR=~1"
etc.

Grüße
bastla
Bitte warten ..
Mitglied: 6741
20.01.2008 um 18:57 Uhr
upps i did it again ...

falsche batch ...

jetzt geht´s ..

ich feile noch, wenn ich die Log´s protokollieren möchte würde ich sie gerne verschieben...

sprich ..

copy log.txt c:\ftpcheck\logs klappt auch, aber ein

rename c:\ftpcheck\logs\log.txt log%date%%time%.txt

gibt ein syntaxfehler ...

warum kann rename nicht mit date und time umgehen?

gruß
Bitte warten ..
Mitglied: bastla
20.01.2008 um 19:41 Uhr
Hallo firewalldevil!

warum kann rename nicht mit date und time umgehen?
Die Antwort findest Du sehr schnell, wenn Du vor Deine Zeile ein "echo" schreibst:
01.
echo rename c:\ftpcheck\logs\log.txt log%date%%time%.txt 
So sollte es gehen:
01.
ren c:\ftpcheck\logs\log.txt log%date:~-4%%date:~-7,2%%date:~-10,2%_%time:~0,2%%time:~3,2%%time:~6,2%.txt
Diese etwas aufwändige Schreibweise hat aus meiner Sicht zwei Vorteile:

Wenn das Datum vom Ende her aufgelöst wird, fällt der Unterschied zwischen W2000 einerseits und den OS-Versionen ab XP andererseits weg, und außerdem ist die Reihenfolge JJJJMMTT übersichtlicher.

Grüße
bastla
Bitte warten ..
Mitglied: 6741
20.01.2008 um 20:04 Uhr
oh das sieht nicht gut aus ....

danke ....

gruß
Bitte warten ..
Ähnliche Inhalte
Exchange Server

Exchange 2010. Kein externer E-Mail Empfang von neu angelegten Postfächern

Frage von Klemm83Exchange Server2 Kommentare

Hallo Zusammen, Ich habe das Problem, das ein Mitarbeiterpostfach (Empfänger2@domäne.de (s.u. Log-Auszug Block 2)) keine E-Mails von “Extern” empfängt ...

TK-Netze & Geräte

Suche neu Telefonanlage

gelöst Frage von Fritzle24TK-Netze & Geräte21 Kommentare

Hallo zusammen, nachdem am Freitag unsere Auerswald 2206 USB kaputt gegangen ist, muss ich mich relativ schnell um einen ...

Windows Netzwerk

Netzwerkshare neu aufbauen

Frage von Kaka81Windows Netzwerk4 Kommentare

Hallo liebe Gemeinde, Ich habe folgendes Problem: Bei mir in der Firma gibt es derzeit leider nur ein riesiges ...

Windows Netzwerk

Domäne neu, Gruppenrichtlinien erstellen: das Rad neu erfinden?

gelöst Frage von DocuSnap-DudeWindows Netzwerk5 Kommentare

Hallo, wenn eine gewachsene Struktur umzieht in eine neue, frisch aufgsetzte Domäne und man die Chance hat Gruppenrichtlinien neu ...

Neue Wissensbeiträge
Exchange Server

1und1 IONOS: Probleme beim Mailversand mit Exchange

Information von reksierp vor 9 StundenExchange Server3 Kommentare

Hallo, seit Do, 17.1.19 etwa Mittags nimmt 1und1 IONOS keine Mails mehr über den Standard-Port SMTP 25 an. Nachdem ...

LAN, WAN, Wireless

Cisco Mikrotik VPN Standort Vernetzung mit dynamischem Routing

Anleitung von aqui vor 22 StundenLAN, WAN, Wireless

1. Allgemeine Einleitung Das nachfolgende Tutorial ist eine Fortführung der hier bei Administrator.de schon bestehenden VPN Tutorials und beschreibt ...

Windows Mobile

Support für Windows Mobile endet im Dezember 2019

Information von transocean vor 2 TagenWindows Mobile

Moin, Microsoft empfiehlt als Alternative den Umstieg auf iOS oder Android, wie man hier lesen kann. Gruß Uwe

Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 4 TagenInternet6 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Temporäre WLAN Verbindung für AD-Login
Frage von Christian.WidauerLAN, WAN, Wireless17 Kommentare

Hallo zusammen, ich weiß leider nicht unter welchem Begriff ich dafür suchen muss, daher habe ich bisher leider nichts ...

LAN, WAN, Wireless
Bekannte Drosselungen bei Providern ?
Frage von HenereLAN, WAN, Wireless15 Kommentare

Servus zusammen, in bereits angefangen, aber ich hoffe dass der Beitrag hier mehr Informationen bringt. Sind Portdrosselungen bzw gezielte ...

Windows Server
MSSQL Backup in Form von .sql einspielen
Frage von janosch12Windows Server14 Kommentare

Guten Morgen, wir verwenden das Tool SQLandFTPBackup ( ) zum sichern einiger MSSQL Datenbanken. Nun sichert das Toll die ...

Netzwerkmanagement
Reverse Proxy für TCP und UDP Anfragen
gelöst Frage von flxklsNetzwerkmanagement14 Kommentare

Hallo zusammen, ich besitze einen Rootserver, der nur eine öffentliche IP besitzt und auf dem mehrere VMs laufen. Da ...