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

LogFiles für Kopierskript auswählen

Frage Entwicklung VB for Applications

Mitglied: RetroDude

RetroDude (Level 1) - Jetzt verbinden

07.06.2012 um 15:42 Uhr, 2633 Aufrufe, 2 Kommentare

Hallo Zusammen

Ich muss auf allen unseren DHCP Servern regelmässig die LogFiles sichern. Ich habe dazu einen kleinen Skript begonnen. Zuerst lese ich den Hostnamen aus. Anschliessend überprüfe ich ob es im Zielverzeichnis bereits einen Ordner mit diesem Namen gibt. Falls nein, wird dieser erstellt und anschliessend kopiert. Nun zu meinem Problem:

Die Logfiles sind folgendermassen abgelegt bzw. vorhanden:

DhcpSrvLog-Mon.log
DhcpSrvLog-Tue.log
DhcpSrvLog-Wen.log

.
.
.

In diesem Verzeichnis sind aber noch mehr Files inkl. der DB abgelegt. Da ich nur diese 7 Textfiles möchte, brauche ich dazu eine Schleife um meinen Skript zu ergänzen. Wie muss ich den Punkt "strFile=" ergänzen damit ich nur diese besagten Files auslesen kann uns anschliessend kopiere?

Vielen Dank im Voraus!

01.
 
02.
' Copy DHCP Logs to BackupServer 
03.
' ------------------------------------------------ 
04.
Dim objFSO 
05.
Dim objFile 
06.
 
07.
'Quellpfad 
08.
strSource="C:\WINDOWS\system32\dhcp" 
09.
'Zielpfad 
10.
strDest="\\BackupServer\DHCP$" 
11.
' ------------------------------------------------ 
12.
 
13.
'Test ob Quelle vorhanden 
14.
 
15.
strFolder = strDest & "\" & GetEnvironmentValue("computername") 
16.
 
17.
Function GetEnvironmentValue(ByVal value) 
18.
Dim strReturn, wshShell 
19.
On Error Resume Next 
20.
 
21.
value = trim(value) 
22.
If Left(value,1) <> "%" then value = "%" & value 
23.
If Right(value,1) <> "%" then value = value & "%" 
24.
 
25.
Set wshShell = CreateObject("WScript.Shell") 
26.
strReturn = wshShell.ExpandEnvironmentStrings(value) 
27.
 
28.
If Err.Number <> 0 then 
29.
        strReturn = "" 
30.
        Err.Clear 
31.
End If 
32.
     Set wshShell = Nothing 
33.
 
34.
    GetEnvironmentValue = strReturn 
35.
End Function 
36.
 
37.
wscript.Echo strFolder 
38.
 
39.
Set objFSO=CreateObject("Scripting.FileSystemObject") 
40.
 
41.
if objFSO.FolderExists(strFolder) Then 
42.
wscript.Echo strFolder  & " Existiert!" 
43.
objFSO.CopyFile strFile,strDest,True 
44.
If err.number=0 Then 
45.
wscript.Echo "Pfad existiert, Files wurden kopiert!" & strFile & " to " & strDest 
46.
End If 
47.
Else 
48.
objFSO.CreateFolder(strFolder) 
49.
set objFSO=Nothing 
50.
 
51.
' ****************** 
52.
strFile= 
53.
' ****************** 
54.
 
55.
objFSO.CopyFile strFile,strFolder,True 
56.
If err.number=0 Then 
57.
wscript.Echo "Pfad wurde erstellt, Files wurden kopiert! " & strFile & " to " & strDest 
58.
Else 
59.
WScript.Echo "Files konnten nicht kopiert werden!" 
60.
End If 
61.
 
Mitglied: bastla
07.06.2012, aktualisiert um 16:20 Uhr
Hallo RetroDude!

Du kannst ja Wildcards verwenden - also etwa:
strFile = strSource & "\DhcpSrvLog-???.log"
- eine Schleife ist dann gar nicht nötig ...

... aber falls Du dennoch eine verwenden wolltest, dann etwa so (in VBA; VBS kennt kein "Like")
01.
For Each File In fso.GetFolder(strSource).Files 
02.
    If File.Name Like "DhcpSrvLog-???.log" Then File.Copy strDest,True 
03.
Next
Grüße
bastla
Bitte warten ..
Mitglied: RetroDude
08.06.2012, aktualisiert um 09:21 Uhr
Hallo Bastla

Danke, erfüllt genau seinen Zweck!

Gruss und schönes Wochenende!

RetroDude

01.
' ---------------------------------------------------- 
02.
' Copy DHCP Logs to Share on BackupServer 
03.
' ---------------------------------------------------- 
04.
' Variablendeklaration 
05.
 
06.
Dim objFSO 
07.
Dim objFile 
08.
'Quellpfad 
09.
strSource="C:\Windows\System32\DHCP" 
10.
'Zielpfad 
11.
strDest="\\Backupserver\DHCP$" 
12.
'Filetypen 
13.
strFile = strSource & "\DhcpSrvLog-???.log" 
14.
' ---------------------------------------------------- 
15.
 
16.
'Test ob Quelle vorhanden 
17.
 
18.
strFolder = strDest & "\" & GetEnvironmentValue("computername") 
19.
 
20.
Function GetEnvironmentValue(ByVal value) 
21.
Dim strReturn, wshShell 
22.
On Error Resume Next 
23.
 
24.
value = trim(value) 
25.
If Left(value,1) <> "%" then value = "%" & value 
26.
If Right(value,1) <> "%" then value = value & "%" 
27.
 
28.
Set wshShell = CreateObject("WScript.Shell") 
29.
strReturn = wshShell.ExpandEnvironmentStrings(value) 
30.
 
31.
If Err.Number <> 0 Then 
32.
        strReturn = "" 
33.
        Err.Clear 
34.
End If 
35.
     Set wshShell = Nothing 
36.
 
37.
    GetEnvironmentValue = strReturn 
38.
End Function 
39.
 
40.
' wscript.Echo strFolder 
41.
 
42.
Set objFSO=CreateObject("Scripting.FileSystemObject") 
43.
 
44.
if objFSO.FolderExists(strFolder) Then 
45.
' wscript.Echo strFolder  & " Existiert!" 
46.
objFSO.CopyFile strFile,strFolder,True 
47.
If err.number=0 Then 
48.
' wscript.Echo "Pfad existiert, Files wurden kopiert!" & strFile & " to " & strDest 
49.
End If 
50.
Else 
51.
objFSO.CreateFolder(strFolder) 
52.
objFSO.CopyFile strFile,strFolder,True 
53.
If err.number=0 Then 
54.
' wscript.Echo "Pfad wurde erstellt, Files wurden kopiert! " & strFile & " to " & strDest 
55.
Else 
56.
' WScript.Echo "Files konnten nicht kopiert werden!" 
57.
End If 
58.
End If 
59.
Set objFSO=Nothing 
60.
WScript.Quit
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Zusammenführen mehrere Felder, Datei auswählen (3)

Frage von GeoSem zum Thema Batch & Shell ...

Batch & Shell
gelöst Datumbezogenes Auslesen von Logfiles (2)

Frage von tiny.deluxe zum Thema Batch & Shell ...

Exchange Server
Exchange 2010 - Logfiles und Datenbank wegsichern (4)

Frage von staybb zum Thema Exchange Server ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Server-Hardware
Einem Stromausfall entgegen wirken (19)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

iOS
16 iPads zentrall verwalten (18)

Frage von simonlohr zum Thema iOS ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...