Jump to content
Sign in to follow this  
eismanhobbit

aktuelles Datum im Dateinamen

Recommended Posts

Hallo

 

ich habe hier ein kleines Problem aber so wie ich euch kenne ist das für euch eine Kleinigkeit.

Ich habe ein Script geschrieben, mit dem ich die Windows-Logfiles wegkopiere.

Das funktioiert auch - ich möchte aber beim erstellen der Datei einen anderen Dateinamen haben.

Er soll folgendermassen aussehen:

servername_logfilename_aktuelles Datum.evt - also zum Beispiel: server1_sec_20080222.evt

 

Hier das Script was ich geschrieben habe - der Eintrag strBackupFile = "c:\app_back.evt" muß wohl geändert werden.

Es wäre nett, wenn ihr den notwendigen Eintrag einfach ändern könntet

 

Danke schonmal im voraus

 

 

' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.
' ------ Skript-Konfiguration ------
strLog = "Application"			' z.B. Application
strBackupFile = "c:\app_back.evt"	                ' z.B. c:\app_back.evt
strServer = "."				' z.B. server1 (verwenden Sie "." für den lokalen Server)
' ------ ENDE DER KONFIGURATION ------
set objWMI = GetObject(_
	"winmgmts:{impersonationLevel=impersonate,(Backup)}!\\" & _
	strServer & "\root\cimv2")
set colLogs = objWMI.ExecQuery("Select * from Win32_NTEventlogFile Where " & _
			" Logfilename = '" & strLog & "'")
if colLogs.Count <> 1 then
  WScript.Echo "Fataler Fehler. Anzahl gefundener Ereigniosprotokolle: " & colLogs.Count
  WScript.Quit
end if
for each objLog in colLogs
  objLog.BackupEventlog strBackupFile
  WScript.Echo strLog & " gesichert in " & strBackupFile
next

Share this post


Link to post
Share on other sites

Um das aktuelle Datum auszugeben, verwendet man die Funktion 'date':

 

kleines Beispiel:

 

Option Explicit
Dim ausgabe
Dim heute
Dim uhr

set ausgabe = WScript.CreateObject("WScript.Shell")
heute = Date
uhr = Time


ausgabe.popup "Heute ist der " & heute & " und wir haben gerade " & uhr & " Uhr.", 0, "Aktuelles Datum mit Uhrzeit"

 

Das Script lermittelt das lokale Rechnerdatum und die lokale Rechneruhrzeit und gibt diese in einer Popupmeldung aus.

Wenn Du das entsprechend in das Script einbaust, kannst Du Dir das Datum in den Dateinamen einbauen...

 

Der entsprechende Abschnitt müsste also lauten:

strheute = date
strBackupFile = "c:\app_back_" & strheute & ".evt"	                ' z.B. c:\app_back.evt

Share this post


Link to post
Share on other sites

Hallo

 

Danke erstmal für die schnelle Hilfe.

Leider funktioniert es nur auf einem "deutschen" System.

Wie ist den der Befehl für ein englisches System.

 

Habe folgendes ausprobiert:

strdate = date
strBackupFile = "c:\app_back_" & strdate & ".evt"	

also im Prinzip das gleiche.

Leider ist der Ausgabename nicht zulässig und die Datei wird nicht angelegt.

Der Ausgabename wäre c:\app_back_22/02/2008.evt

Leider ist ein "/" Slash im Namen nicht zulässig.

Wie bekomme ich es hin, das der Dateiname folgendermassen lautet:

c:\app_back_22022008.evt oder besser noch wie im englischen Format:

c:\app_back_20080222.evt

 

Danke !!!

Share this post


Link to post
Share on other sites

Hi,

 

strdate = date
strBackupFile = "c:\app_back_" & year(strdate) & right("0" & month(strdate),2) & right("0" & day(strdate),2) & ".evt"

 

Da der Wert von Monat und Tag einstellig sein kann, wird eine 0 vorangestellt und dann auf die rechten zwei Stellen gekürzt.

 

thorgood

Share this post


Link to post
Share on other sites

Moin eismanhobbit,

 

Zum Beispiel so...


...
Strdate = cstr(year(date)) & right(cstr(100+month(date)),2) & right(cstr(100+day(date)),2)
...
[/Code]

 

Bitte setze auch in den anderen Foren, in denen Du Deine Frage gepostet hast, den Beitrag mit Angabe einer Lösungsstrategie auf "Erledigt".

 

Danke

Biber

Share this post


Link to post
Share on other sites

Vielen Dank euch allen !!!

 

Hier die Lösung getestet und funktioniert

 

' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.
' ------ Skript-Konfiguration ------
strLog = "Application"													' z.B. Anwendung
strdate = date
strBackupFile = "c:\app_" & year(strdate) & right("0" & month(strdate),2) & right("0" & day(strdate),2) & ".evt"	' z.B. c:\app_back.evt
strServer = "."														' z.B. tokyo (verwenden Sie "." für den lokalen Server)
' ------ ENDE DER KONFIGURATION ------
set objWMI = GetObject(_
	"winmgmts:{impersonationLevel=impersonate,(Backup)}!\\" & _
	strServer & "\root\cimv2")
set colLogs = objWMI.ExecQuery("Select * from Win32_NTEventlogFile Where " & _
			" Logfilename = '" & strLog & "'")
if colLogs.Count <> 1 then
  WScript.Echo "Fataler Fehler. Anzahl gefundener Ereigniosprotokolle: " & colLogs.Count
  WScript.Quit
end if
for each objLog in colLogs
  objLog.BackupEventlog strBackupFile
  WScript.Echo strLog & " gesichert in " & strBackupFile
next

 

Danke

Share this post


Link to post
Share on other sites

Bei uns können nur Moderatoren Themen schließen.

Die Kennzeichnung "Erledigt" ist bei uns nicht aktiv.

 

Es reicht, wenn Du eine kurze Rückmeldung in den Beitrag schreibst, dass alles so geklappt hat.

Share this post


Link to post
Share on other sites
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...