rotlux
Goto Top

VBS Script soll in jedem Ordner eine Ini Datei modifizieren

Hallo zusammen,

ich habe folgendes Problem

Auf unserem Profilpfad (TS) liegen die Profile aller User

Wir müssen nun in eine Ini welche in jedem Userprofil liegt einen Eintrag erweitern

Schreiben in die Ini Datei funktioniert

Aber wie kann ich es per VBS realisieren, dass
in jedem Ordner nach der Datei gesucht wird (Datei liegt immer am selben Platz im Userprofil)
Ich weiß den Pfad

\\SERVER\SHARE\ --- \ORDNER\DATEI.INI

--- = der Username

den weiß ich nicht
Sollte aber auch egal sein

Script soll in JEDEM dieser Ordner nach der Ini suchen und am Schluß den Eintrag erweitern

Wie kann ich das machen?
Danke für euere Hilfe
Marcel

Content-ID: 162212

Url: https://administrator.de/forum/vbs-script-soll-in-jedem-ordner-eine-ini-datei-modifizieren-162212.html

Ausgedruckt am: 07.04.2025 um 20:04 Uhr

60730
60730 08.03.2011 um 09:20:01 Uhr
Goto Top
Moin,

für "sowas" würde ich ja nicht zu VBS greifen - das kann "Bätsch" auch....

Demo1:
for /r \\server\profil\ %a in (.) do echo %a

Demo2:
for /r \\server\profil\ %a in (DATEI.INI) do echo %a

Demo3:
for /r \\server\profil\ %a in (DATEI.INI) do findstr "Eintrag" %a && echo Eintrag schon vorhanden

Demo4:

Spiel damit mal etwas rum und suche die die Hilfe zu jedem - dir noch unbekannten - Befehl in der Dosbox.

Gruß
bastla
bastla 08.03.2011 um 10:13:00 Uhr
Goto Top
Hallo rotlux!

Da es hier ja nur um eine Ordnerebene (die "unbekannten" User) geht, genügt eine einfache "For Each"-Schleife:
Set fso = CreateObject("Scripting.FileSystemObject")  
For Each SubFolder In fso.GetFolder("\\SERVER\Share").SubFolders  
    Ausgabe = Ausgabe & vbCrLf & "Bearbeite " & SubFolder.Path  
Next
WScript.Echo Mid(Ausgabe, 3)
Als Demo werden hier nur die gefundenen Pfade angezeigt - Deine bestehende Veraarbeitung kannst Du dann ersatzweise entweder als Unterprogrammaufruf oder unmittelbar in die Schleife einbinden ...

Grüße
bastla
rotlux
rotlux 08.03.2011 um 16:39:50 Uhr
Goto Top
Hallo Bastla,

So sieht mein Script jetzt aus
_______________________________________________________________________________________________________________________________________________________________________________________________________________
'Variabendefinition
Option Explicit
Dim stradd1, stradd2, stradd3, strFile, strServerPath, strini, fso, SubFolder
Set fso = CreateObject("Scripting.FileSystemObject")

'zu füllender Inhalt
stradd1 = "Text 1"
stradd2 = "Text 2"
stradd3 = "Text 3"

strServerPath = "E:\Data\TSHome\"
strini = "\Ordner\Bearbeitemich.ini"

For Each SubFolder In fso.GetFolder(strServerPath).SubFolders
ModifyNotesIni strini
Next

'---------------------------------- FUNKTIONEN ----------------------------------
Function ModifyNotesIni(strFile)
Set oFile = fso.OpenTextFile(strFile,8,true)
oFile.WriteLine stradd1
oFile.WriteLine stradd2
oFile.WriteLine stradd3
err.Clear
oFile.close
End Function
_______________________________________________________________________________________________________________________________________________________________________________________________________________

Jetzt kommt "Der Pfad wurde nicht gefunden)
bei Zeile (37) Set oFile = fso.OpenTextFile(strFile,8,true)
60730
60730 08.03.2011 um 16:45:10 Uhr
Goto Top
moin,

auch wenn ich nicht der Bastla bin...

  • Bitte füge die Code Blöcke um dein Script ein - denn so kann man das nicht richtig lesen.
(der Parser vom Forum verändert zuviel)

  • Dann fällt auf den ersten Blick auf - und das kann auch vom Forenparser kommen:
strServerPath = "E:\Data\TSHome\"  
strini = "\Ordner\Bearbeitemich.ini"   
kann ja nicht stimmen. - Oder kennst du einen Pfad
E:\Data\TSHome\\Ordner\Bearbeitemich.ini

Gruß
bastla
bastla 08.03.2011 um 16:49:25 Uhr
Goto Top
Halo rotlux!

Die Zeile 15 (zumindest der hier geposteten - übrigens leicht abzulesen, wenn Du T-Mos Rat hinsichtlich der befolgst) sollte eher so aussehen:
ModifyNotesIni SubFolder.Path & strini
Kleines stilistisches Detail am Rande: Da ja kein Rückgabewert erwartet / benötigt wird, wäre "ModifyNotesIni" bei mir keine "Function", sondern ein "Sub" ...

Grüße
bastla
rotlux
rotlux 10.03.2011 um 08:51:52 Uhr
Goto Top
super, so hat es funktioniert
vielen Dank
Mehr von rotluxrotluxVBS Script zum kopieren mehrerer Dateien die in einem TXT File gelistet sindrotlux - 19 KommentarerotluxGroup Policy Updaterotlux - 5 KommentarerotluxWindows XP Printer Managementrotlux - 1 KommentarrotluxErfahrungen mit Einwahlclients (enterprise mobility management) wie IPASS, FIBERLINKrotlux - 1 Kommentar
Heiß diskutiert
BN2023Windows PC auf Linux umstellen, da Win11 Upgrade nicht möglich?BN2023 - 41 KommentareU08154711Firewall Regeln für TravelrouterU08154711 - 34 Kommentareds6.euDoppelmoral?ds6.eu - 30 KommentarekpunktWelche Applikation will nach 199.59.243.228?kpunkt - 23 Kommentareem-pieVMware: Mindestens 72 Cores für Lizenzierung erforderlichem-pie - 22 KommentareDerWoWussteImport eines p12-Zertifikates auf einen YubikeyDerWoWusste - 20 KommentareMysticFoxDEEine alternative Erklärung des Doppler-Effekts durch variable LightspeedMysticFoxDE - 18 KommentareBN2023Am Verstärker angeschlossene Festplatte über Laptop findenBN2023 - 16 KommentarecoltseaversDebian Linux Fileserver mit ZFS, openZFS oder BTRFS?coltseavers - 16 KommentarekreuzbergerTrueNAS-13.3-U1.1, Plugin Installation schlägt fehlkreuzberger - 15 KommentareMegaadwwhOPNSense, Proxmox, eine weitere Firewall, Ubiquiti, Cisco und NetgearMegaadwwh - 15 KommentareitstrueSync Windows Folder zu Webdavitstrue - 15 KommentarekreuzbergerSound-Recording und Sound-Bearbeitungkreuzberger - 14 Kommentare