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 Probleme mit Log-Datei und Frage zum Überschreiben von Dateien

Mitglied: Imrazor

Imrazor (Level 1) - Jetzt verbinden

15.02.2010 um 13:28 Uhr, 5152 Aufrufe, 6 Kommentare

1.) Log-Einträge werden nicht immer geschrieben
2.) Wie kann man vorhandene Dateien überschreiben?

Hallo Leute!

Ich muss euch wieder mal bemühen. Dieses mal habe ich zwei Fragen:

1) Ich schreibe in eine Log-Datei, bevor mein Skript eine Datei kopiert/verschiebt und wenn nochmal nach dem Vorgang:

01.
Function Copy(Quellpfad, Zielpfad)
02.

03.
Set FSO = CreateObject("Scripting.FileSystemObject")
04.
Set Quelle = FSO.GetFolder(Quellpfad)
05.
Set Ziel = FSO.GetFolder(Zielpfad)
06.

07.
For Each File in Quelle.Files
08.

09.
	'Log-Eintrag schreiben:
10.
	Bericht = "Protokoll " & File.Name & " wird von " & Quellpfad & " nach " & Zielpfad & " kopiert!"
11.
	Call Log(Logdatei, Bericht)
12.

13.
	FSO.CopyFile Quellpfad & "\*.*", Zielpfad & "\"
14.

15.
	'Log-Eintrag schreiben:
16.
	Bericht = "Protokoll wurde von " & Quellpfad & " nach " & Zielpfad & " kopiert!"
17.
	Call Log(Logdatei, Bericht)
18.
Next
19.
	
20.
End Function
01.
Function Move(Quellpfad, Zielpfad)
02.

03.
Set FSO = CreateObject("Scripting.FileSystemObject")
04.
Set Quelle = FSO.GetFolder(Quellpfad)
05.
Set Ziel = FSO.GetFolder(Zielpfad)
06.

07.
For Each File in Quelle.Files
08.

09.
	'Log-Eintrag schreiben:
10.
	Bericht = "Protokoll " & File.Name & " wird von " & Quellpfad & " nach " & Zielpfad & " verschoben!"
11.
	Call Log(Logdatei, Bericht)
12.

13.
	FSO.MoveFile Quellpfad & "\*.*", Zielpfad & "\"
14.

15.
	'Log-Eintrag schreiben:
16.
	Bericht = "Protokoll wurde von " & Quellpfad & " nach " & Zielpfad & " verschoben!"
17.
	Call Log(Logdatei, Bericht)
18.
Next
19.

20.
End Function
Und hier die Funktion zum Schreiben des Logs:

01.
Function Log(Datei, LogTxt)
02.

03.
If LogAktiv=1 Then
04.
	Set FSO = CreateObject("Scripting.FileSystemObject")
05.
	Set FileOut = FSO.OpenTextFile(Datei,8,True)
06.

07.
	FileOut.WriteLine (now())
08.
	FileOut.WriteLine (LogTxt)
09.
	FileOut.writeLine ("   ")
10.
	FileOut.Close
11.

12.
	Set FileOut = Nothing
13.
End If
14.

15.
End Function 
Am Anfag meines eigentlichen Codes definiere ich den Pfad zur Logdatei und ob gelogged werden soll. Das funktioniert auch einwandfrei.

Mein Problem: Ich teste mit zwei Dateien, die kopiert/verschoben werden. Beim Kopieren werden die Log-Einträge für beide Dateien gesetzt, beim Verschieben nur für eine Datei. Woran kann dies liegen??

Hier mal ein Beispiel für nen Logeintrag:
01.
15.02.2010 13:19:14
02.
Protokoll PDFCreatorDoku.pdf wird von D:\PRINTTEST\TEMP2 nach D:\PRINTTEST\TEMP verschoben!
03.
   
04.
15.02.2010 13:19:17
05.
Protokoll wurde von D:\PRINTTEST\TEMP2 nach D:\PRINTTEST\TEMP verschoben!
06.
  
07.
15.02.2010 13:19:37
08.
Protokoll PDFCreatorDoku.pdf wird von D:\PRINTTEST\TEMP nach D:\PRINTTEST\TEMP5\2010-02-15 kopiert!
09.
   
10.
15.02.2010 13:19:40
11.
Protokoll wurde von D:\PRINTTEST\TEMP nach D:\PRINTTEST\TEMP5\2010-02-15 kopiert!
12.
   
13.
15.02.2010 13:19:40
14.
Protokoll Signatur_mit_Adobe8.pdf wird von D:\PRINTTEST\TEMP nach D:\PRINTTEST\TEMP5\2010-02-15 kopiert!
15.
   
16.
15.02.2010 13:19:43
17.
Protokoll wurde von D:\PRINTTEST\TEMP nach D:\PRINTTEST\TEMP5\2010-02-15 kopiert!
18.
   
19.
15.02.2010 13:19:43
20.
Protokoll PDFCreatorDoku.pdf wird von D:\PRINTTEST\TEMP nach D:\PRINTTEST\TEMP4\2010-02-15 verschoben!
21.
   
22.
15.02.2010 13:19:46
23.
Protokoll wurde von D:\PRINTTEST\TEMP nach D:\PRINTTEST\TEMP4\2010-02-15 verschoben!

2.) Meine zweite Frage:

Wie kann ich eine bereits vorhandene (gleiche) Datei beim Kopieren/Verschieben überschreiben?

Ich dachte, dies ginge mit dem Parameter TRUE, bekommen dann aber einen Fehler.

01.
FSO.MoveFile Quellpfad & "\*.*", Zielpfad & "\", TRUE
Mitglied: Biber
15.02.2010 um 13:53 Uhr
Moin IM Razor,

zu a) Für deine Log-Zeile ermittelst du den "richtigen" Text zwar dateiweise.
Die .MoveFile-Methode allerdings lässt du ja mit Wildcards (FSO.MoveFile Quellpfad & "\*.*", Zielpfad & "\" ) loslaufen.
D.h. it works as designed... - kein ungebührliches Verhalten des Schnipsels festzustellen.

zu b) Warum sollte MoveFile jetzt am Wochenende einen undokumentierten Parameter "ÜberschreibFallsVorhanden" dazubekommen haben?
Nur weil Valentinstag war?
--> Also, Vorhandensein "alteDatei" (im Zielverzeichnis) selber prüfen; ggf. vorher löschen.

Grüße
Biber
Bitte warten ..
Mitglied: Imrazor
15.02.2010 um 14:06 Uhr
Hey Biber,

zu 1) dumme Frage: Und wieso funktioniert es dann bei der CopyFile-Methode??

Hier mache ich es ja genauso mit Wildcards:
01.
FSO.CopyFile Quellpfad & "\*.*", Zielpfad & "\" 
zu 2) hmm, dachte es gibt für MobeFile ebenfalls diesen Parameter geben, wie bei CopyFile. Anscheinend ist dem nicht so.
Bitte warten ..
Mitglied: bastla
15.02.2010 um 14:33 Uhr
Hallo lmrazor!
Und wieso funktioniert es dann bei der CopyFile-Methode??
Nach dem (ersten) Kopieren aller Dateien befinden sich wie viele Dateien im Quellpfad? Jedenfalls mehr als nach dem (ersten und einzigen) Verschieben aller Dateien ...

Anstelle von
FSO.MoveFile Quellpfad & "\*.*", Zielpfad & "\"
würde sich
File.Move Zielpfad & "\"
besser eignen (gilt analog auch für das Kopieren und die Methode "Copy") ...

Grüße
bastla
Bitte warten ..
Mitglied: Imrazor
15.02.2010 um 15:22 Uhr
Super, danke bastla!

Da stand ich wohl ein bißchen auf der Leitung

Naja, jetzt muss ich nur noch was zusammenbasteln für die Prüfung, ob die Dateien schon vorhanden sind...
Bitte warten ..
Mitglied: Imrazor
15.02.2010 um 16:14 Uhr
Für alle, die es interessiert, ich habe die Prüfung so gelöst:

01.
Function Move(Quellpfad, Zielpfad)
02.

03.
Set FSO = CreateObject("Scripting.FileSystemObject")
04.
Set Quelle = FSO.GetFolder(Quellpfad)
05.
Set Ziel = FSO.GetFolder(Zielpfad)
06.

07.
For Each File in Quelle.Files
08.

09.
	If FSO.fileExists(Zielpfad & "\" & File.Name) then
10.
	
11.
	FSO.DeleteFile Zielpfad & "\" & File.Name
12.

13.
	File.Move Zielpfad & "\"
14.

15.
	Else
16.

17.
	File.Move Zielpfad & "\"
18.

19.
	End If
20.
Next
21.
End Function
Bitte warten ..
Mitglied: bastla
15.02.2010 um 17:31 Uhr
Hallo lmrazor!

Ließe sich noch etwas "eindampfen" :
01.
Function Move(Quellpfad, Zielpfad)
02.

03.
Set FSO = CreateObject("Scripting.FileSystemObject")
04.
Set Quelle = FSO.GetFolder(Quellpfad)
05.
Set Ziel = FSO.GetFolder(Zielpfad)
06.

07.
For Each File in Quelle.Files
08.

09.
	If FSO.fileExists(Zielpfad & "\" & File.Name) Then FSO.DeleteFile Zielpfad & "\" & File.Name
10.

11.
	File.Move Zielpfad & "\"
12.

13.
Next
14.
End Function
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Windows Server
Log-Datei via Batch auslesen
gelöst Frage von Ironhead-HaynsWindows Server3 Kommentare

Hallo zusammen, ich drehe mich mal wieder im Kreis und komme durch den Wald vor lauter Bäumen nicht durch! ...

Windows Server

Powershell - suche nach gelöschter Datei aus LOG

Frage von krischeuWindows Server15 Kommentare

Hi, da bin ich wieder. Ich suchte nach einer Möglichkeit, aus LOG-Dateien zu extrahieren, wo man das Löschen von ...

Netzwerkmanagement

Sophos UTM220 - Appliance CPU Auslastung LOG-Datei downloaden?

gelöst Frage von 1410640014Netzwerkmanagement7 Kommentare

Hallo, würde gerne zu Archivzwecken die CPU-Auslastung einer UTM220 Sophos-Firewall archivieren, finde aber kein LOG-File dazu. Kann zwar die ...

Batch & Shell

Batchdatei soll überprüfen, ob auf eine Log Datei

Frage von hoppalaBatch & Shell1 Kommentar

Hiho :) ! Ein Freund und ich haben eine Batchdatei erstellt, leider kommen wir bei einer Sache nicht weiter. ...

Neue Wissensbeiträge
Rechtliche Fragen
Unitymedia siegt vor dem BGH
Information von transocean vor 12 StundenRechtliche Fragen3 Kommentare

Moin, lt. einem aktuellen Urteil darf UM Mietrouter seiner Kunden weiterhin in Hotspots verwandeln. Nachlesen kann man das hier. ...

Router & Routing
Der "768k-Day" kommt
Information von LordGurke vor 1 TagRouter & Routing2 Kommentare

Für Leute, die Router mit BGP-Fulltable betreiben vielleicht ein interessanter Hinweis: Die IPv4-Fulltable erreicht voraussichtlich innerhalb der nächsten 2-3 ...

Debian

Partition angeblich voll, dabei aber noch nicht mal zur Hälfte belegt

Anleitung von diemilz vor 1 TagDebian8 Kommentare

Hallo zusammen, ich habe ein kleines Problem: Ich habe auf einem physischen Debian Linux Server als ZoneMinder-Server (HP ProLiant ...

Windows 7
Updategängelung auf Windows 10, die zweite
Information von Penny.Cilin vor 6 TagenWindows 73 Kommentare

Hallo, da Windows 7 im kommenden Jahr nicht mehr supportet wird, werden Nutzer von Window 7 home premium wieder ...

Heiß diskutierte Inhalte
HTML
Bild hochladen mit html auf die Webseite
gelöst Frage von WorldoftheitHTML63 Kommentare

Will eine Seite entwickeln im Internet aber Das Bild wird nicht angezeigt woran kann das liegen? Wäre für jede ...

Vmware
Terminalserver VM - Videos ruckeln
Frage von easyriderVmware29 Kommentare

Hallo zusammen, wir haben einen (free) ESXi 5.5 auf einem HP DL 380 G8 im Einsatz. Darauf läuft, unter ...

Backup
Veeam Community Edition
gelöst Frage von dgrebnerBackup23 Kommentare

Hallo Zusammen, kann jemand seine praktischen Erfahrungswerte mit der Veeam-Community Edition mit mir teilen? Es gab dazu ja schon ...

Festplatten, SSD, Raid
Harddisk kaputt, was sagt mir ChrystalDiskInfo
gelöst Frage von InfoSeekerFestplatten, SSD, Raid23 Kommentare

Hallo zusammen, Mein Rechner lahmt. Ich stell mir die Frage woran es liegt und bin der Meinung es ist ...