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

gelöst Dateigrössen vergleichen

Mitglied: idkfa2k7

idkfa2k7 (Level 1) - Jetzt verbinden

29.02.2008, aktualisiert 15:05 Uhr, 3951 Aufrufe, 3 Kommentare

Programmsprache VBS

Hi Leute,
ich armer Systemtechniker verzweifle an dieser Aufgabe...

Folgendes:
Mir werden Täglich die DHCP Files in einen Ordner als .txt Dateien exportiert. Dieser Vorgang geht ab und zu schief, d.h
Normalerweise unterscheiden sich die Files um wenige KB + - 5. Wenn der Vorgang jedoch schief geht dann unterscheiden sich die Dateien
um mehrere KB + - 50KB.

Ich habe das Ganze programmiert, aber ich schaffe es nicht alle Bedingungen zu berücksichtigen.
Leider funktioniert mein Skript nicht, wenn die neue Datei 50Kb grösser als die alte Datei ist, wie kann ich das auch noch filtern? Programmiert habe ich es mit VBS


' Name: delte_dhcp_error.vbs
' Author: idkfa2k7
' Version: 2.0

Option Explicit

Dim varPos,sizeOld, sizeNew, diffOldNew, diffOldNewNeg
Dim fileOld, fileNew, fileCopy
Dim fso, file, objfs

Const ForReading = 1


' in Bytes. Tolleranz Grössendifferenz der letzten 2 Tagesfiles (Dient zur Sicherung von Fehlexporten)
varPos = 50*1024

' Berechnung von Diffenrenz diffOldNew (altem und neuem File)
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("C:\Temp\export\dhcp_sav" & Date()-1 & ".txt")
sizeOld = file.Size
Set file = fso.GetFile("C:\Temp\export\dhcp_sav" & Date() & ".txt")
sizeNew = file.Size
Set file = Nothing
Set fso = Nothing

diffOldNew = sizeOld - sizeNew

'Dies sind die Dateien welche in die lokale Datei gespeichert wird
fileOld = "C:\Temp\export\dhcp_sav" & Date()-1 & ".txt"
fileNew = "C:\Temp\export\dhcp_sav" & Date() & ".txt"
fileCopy = "C:\Temp\dhcp_imp.txt"

'Überprüft ob das Filedelta kleiner, grösser oder gleich, dann wirder Import über aktuelle Datei ausgeführt_
'ansonsten wird die Version vom Tag zuvor genmommen
If diffOldNew <= varPos Then
Set objfs = CreateObject("Scripting.FileSystemObject")
objfs.CopyFile fileNew, fileCopy, True
MsgBox("Es wurde eine Kopie von heute erstellt")
Else
Set objfs = CreateObject("Scripting.FileSystemObject")
objfs.CopyFile fileOld, fileCopy, True
MsgBox("Es wurde die Kopie vom Tag zuvor verwendet")
End If



Danke für eure Hilfe
Mitglied: Korrn
29.02.2008 um 09:33 Uhr
Kleiner Logik-Fehler:
diffOldNew = sizeOld - sizeNew
Wenn die neue Datei größer ist, als die alte, dann bekommst Du einen negativen Wert, durch den
diffOldNew <= varPos
immer true ist.

Kenn mich nicht so sehr mit VB aus, Du brauchst entweder eine Funktion, die Dir den Betrag von diffOldNew zurück gibt, oder Du umgehst es mit:

diffOldNew = sizeOld - sizeNew
if diffOldNew < 0 Then
diffOldNew = diffOldNew * 1
End If
Bitte warten ..
Mitglied: idkfa2k7
29.02.2008 um 09:50 Uhr
Danke für die schnelle Hilfe!!! Erleichterung macht sich breit, und es ist auch noch Freitag ;)
Jedoch ist es notwenig * -1 zu machen, da sonnst die Zahl ja nicht invertiert wird.

diffOldNew = sizeOld - sizeNew
if diffOldNew < 0 Then
diffOldNew = diffOldNew * -1
End If
Bitte warten ..
Mitglied: bastla
29.02.2008 um 15:05 Uhr
Hallo idkfa2k7 und Korrn#!

Eigentlich genügt:
01.
diffOldNew = Abs(sizeOld - sizeNew)
Grüße
bastla

P.S.: Es werden hier auch <code>-Tags unterstützt ...
Bitte warten ..
Ähnliche Inhalte
Mac OS X

Finale Dateigröße ohne Entpacken ermitteln

gelöst Frage von pelzfruchtMac OS X3 Kommentare

Moin, ich hab hier ein 27,1 GB großes *.bz2 Archiv. Das Problem: Wenn ich das Archiv entpacke könnte mich ...

Batch & Shell

Dateigröße und Änderungsdatum auslesen

Frage von michi-ffmBatch & Shell6 Kommentare

Hallo zusammen, ich habe folgendes Problem, vielleicht kann mir einer ja weiterhelfen. :) Dieses Skript funktioniert schon einmal wunderbar, ...

VB for Applications

Zelle vergleichen

gelöst Frage von Gimli3311VB for Applications4 Kommentare

Hallo Zusammen, Hallo jodel32, Ich habe 2 Excel-Dateien mit Tabellen nun haben die Tabellen verschiedene Vorlagen. Ich hab also ...

Batch & Shell

Dateien vergleichen

gelöst Frage von SpacewarpBatch & Shell4 Kommentare

Hallo, vorweg ich bin neu hier. Meine Problem ist das ich zwei TXT Dateien habe. Bsp.: -Datei1.txt- User Programm ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 1 StundeErkennung und -Abwehr1 Kommentar

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 9 StundenVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 2 TagenDrucker und Scanner3 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 2 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Heiß diskutierte Inhalte
Microsoft
VPN Verbindung kann nicht aufgebaut werden
Frage von AlexderITlerMicrosoft35 Kommentare

Hallo, Ich möchte an einem unserer PCs in unserer Tochterfirma eine VPN zu unserem Netzwerk einrichten. Das schlägt allerdings ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
gelöst Frage von Marcel1989Datenbanken19 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

Windows Server
Programme auf DC ausführen
gelöst Frage von chris123Windows Server14 Kommentare

Hallo, ich bin gerade dabei einen weiteren Admin für unser Domäne zu konfigurieren. Er soll auch auf dem DC-Server ...

Firewall
PfSense Werbung blocken
Frage von matze2090Firewall13 Kommentare

Hallo, habt ihr eine Lösung wie man mit pfSense am besten im Netzwerk Werbung blockieren kann? Danke :)