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

Brauche Unterztützung bei einen VB Script das prüft ob eine Datei vorhanden ist und gegebenfalls umnennt.

Frage Entwicklung VB for Applications

Mitglied: viper80

viper80 (Level 1) - Jetzt verbinden

16.07.2008, aktualisiert 17.07.2008, 6398 Aufrufe, 2 Kommentare

Hallo,
ich komme mit meinen VB Script nicht mehr weiter. Das Script soll überprüfen ob im Pfad %Userprofile%\Lokale Einstellungen\Anwendungsdaten\Lotus\Notes\Data eine *.id Datei befindet. Wenn dies der Fall ist, soll im Ordner %Homedrive%\Programme\lotus\notes die Datei "Notes.ini" in "Notes.ini.old" umnennen.
Alles unter Windows XP SP2.

Kann mir hier jemand weiterhelfen. Danke

Soweit bin ich schon gekommen.
01.
' 1. Wo befindet sich die *.id Datei? => Sub id: 
02.
'    C:\Dokumente und Einstellungen\%Username%\Lokale Einstellungen\Anwendungsdaten\Lotus\Notes\Data 
03.
'    Möglichkeiten: 
04.
'	 A) Die Datei *.id befindet sich im o.g. Verzeichnis => Sub ini 
05.
'    B) Die Datei *.id befindet sich nicht im o.g. Verzeichnis => Sub Exit 
06.
07.
08.
09.
 
10.
On Error Resume Next 
11.
'============================================================================================ 
12.
' Deklarationsteil Globale Variablen 
13.
'============================================================================================ 
14.
Set oShell = CreateObject("Wscript.Shell") 
15.
strUserProfile = oShell.ExpandEnvironmentStrings("%Userprofile%") 
16.
strHomedrive = oShell.ExpandEnvironmentStrings("%Homedrive%") 
17.
'============================================================================================ 
18.
' Sub id 
19.
'============================================================================================ 
20.
 
21.
Sub id() 
22.
Dim vartargetdata      'ID file 
23.
	FulltextSearch ""+strUserProfile+"\Lokale Einstellungen\Anwendungsdaten\Lotus\Notes\Data", "*.id", targetdata 
24.
		If vartargetdata = "*.id" Then  
25.
			call ini() 
26.
		Else 
27.
			call benden() 
28.
		End If 
29.
end sub 
30.
 
31.
'============================================================================================ 
32.
' Sub ini 
33.
'============================================================================================ 
34.
 
35.
Sub ini() 
36.
Dim vartargetdata    'inifile  
37.
	FulltextSearch ""+strHomedrive+"\Programme\Lotus\Notes", "notes.ini", targetdata 
38.
	If  vartargetdata = "notes.ini" Then 
39.
		Set objFSO = CreateObject("Scripting.FileSystemObject") 
40.
		objFSO.MoveFile ""+strHomedrive+"\Programme\Lotus\Notes\notes.ini" , ""+strHomedrive+"\Programme\Lotus\Notes\notes.ini.old" 
41.
	Else 
42.
		call benden() 
43.
	End If  
44.
end sub 
45.
 
46.
'============================================================================================ 
47.
' Sub Exit 
48.
'============================================================================================ 
49.
 
50.
Sub benden() 
51.
 
52.
end sub

Gruß
Thomas

[Edit Biber] Muss das denn sein, dass er "gegebenenfalls umnennt"??
WTF ist an dem Wort "um-be-nen-nen" den so schwierig? [/Edit]
Mitglied: bastla
16.07.2008 um 16:24 Uhr
Hallo viper80!

Etwas eingedampft (und ungetestet) könnte das etwa so aussehen:
01.
Set oFSO = CreateObject("Scripting.FileSystemObject") 
02.
Set oShell = CreateObject("WScript.Shell")  
03.
strUserProfile = oShell.ExpandEnvironmentStrings("%Userprofile%")  
04.
strHomedrive = oShell.ExpandEnvironmentStrings("%Homedrive%") 
05.
 
06.
strDataPath = strUserProfile & "\Lokale Einstellungen\Anwendungsdaten\Lotus\Notes\Data" 
07.
strDataPattern = ".id" 
08.
 
09.
strIniPath = strHomedrive & "\Programme\Lotus\Notes" 
10.
strIniFile = "notes.ini" 
11.
strIniOld = "notes.ini.old" 
12.
 
13.
If FulltextSearch(strDataPath, strDataPattern) <> "" Then 
14.
	Ini 
15.
Else 
16.
	Beenden 
17.
End If 
18.
'-- Ende Hauptprogramm -- 
19.
 
20.
Sub Ini 
21.
If FulltextSearch(strIniPath, strIniFile) <> "" Then 
22.
    If oFSO.FileExists strIniPath & "\" & strIniOld Then objFSO.DeleteFile strIniPath & "\" & strIniOld 
23.
    oFSO.MoveFile strIniPath & "\" & strIniFile, strIniPath & "\" & strIniOld 
24.
End Sub 
25.
 
26.
Sub Beenden 
27.
 
28.
End Sub 
29.
 
30.
Function FulltextSearch(strPath, strPattern) 
31.
F = "" 
32.
L = Len(strPattern) 
33.
P = LCase(strPattern) 
34.
If oFSO.FolderExists(strPath) Then 
35.
    For Each File In oFSO.GetFolder(strPath).Files 
36.
        If LCase(Right(File.Name, L)) = P Then 
37.
            F = File.Name 
38.
            Exit For 
39.
        End If 
40.
    Next 
41.
End If 
42.
FulltextSearch = F 
43.
End Function
Die Function "FulltextSearch" (warum auch immer sie so heißen soll) liefert den Namen der ersten Datei des als Argument übergebenen Ordners, welche dem Suchmuster (vom Dateiende aus betrachtet) entspricht (gefunden würde dadurch allerdings etwa auch eine "#notes.ini" - allerdings lässt sich die Function natürlich noch entsprechend erweitern, um Suche nach Einzeldatei oder nach Dateien eines bestimmten Typs unterscheiden zu können).

Grüße
bastla

P.S.: In Deinem Entwurf wird das Sub "Id" nicht aufgerufen und daher auch nicht ausgeführt.
Bitte warten ..
Mitglied: viper80
17.07.2008 um 10:01 Uhr
Hallo Bastla,

Vielen dank Nochmal für die Schnelle Antwort.

Gruß
Thomas
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Outlook & Mail
gelöst Email Anhänge speichern VB Script aber nur bestimmte Dateitypen (Outlook) (4)

Frage von LindeUnimog zum Thema Outlook & Mail ...

VB for Applications
gelöst VB Script rekursiv statt nur ein Ordner (4)

Frage von Saschaaaaa zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...