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

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, 6435 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 ..
Ähnliche Inhalte
Basic
VB Script: Wenn Link vorhanden dann Pfad ersetzen
gelöst Frage von neotronBasic3 Kommentare

Hallo zusammen, wir haben bei uns ein Logonscript im betrieb, welches den Usern eine Verknüpfung auf dem Desktop anlegt. ...

VB for Applications
VB-Script in VB-Script starten und Parameter übergeben
gelöst Frage von denkisVB for Applications7 Kommentare

Hallo liebe Scriptgemeinde, ich muss mehrere Rechner für den Übergang in eine neue Domäne vorbereiten. Dafür sind drei wesentliche ...

VB for Applications
Mit VB Script Sonderzeichen in Datei und Ordnernamen umbenennen
Frage von SirMcFrostyVB for Applications2 Kommentare

Folgendes Szenario: Einige Datei und/oder Ordnernamen besitzen Sonderzeichen(-kombinationen) die nun geändert/umbenannt werden müssen Beispiel: Aus ""Geschäftsüberlassung" soll wieder "Geschäftsüberlassung" ...

Microsoft Office
Daten aus Excel Datei per VB Script versenden.
Frage von 103148Microsoft Office1 Kommentar

Hallo, wir haben eine Excel Datei Office 2007 in der wird in Mappe1 Daten eingegeben, diese erzeugen eine Auswertung ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 19 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 21 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Sichere Remote Desktop Verbindung wie?
gelöst Frage von nuss33Windows Server11 Kommentare

Hallo zusammen, eins vorweg: Ich besitze einen privaten Windows Server 2008 R2 zu Hause im Netzwerk er wird nicht ...