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, 2617 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (24)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...