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

VBS Script soll in jedem Ordner eine Ini Datei modifizieren

Frage Entwicklung VB for Applications

Mitglied: rotlux

rotlux (Level 1) - Jetzt verbinden

08.03.2011 um 08:52 Uhr, 4426 Aufrufe, 6 Kommentare

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
Mitglied: 60730
08.03.2011 um 09:20 Uhr
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:
for /r \\server\profil\ %a in (DATEI.INI) do findstr "Eintrag" %a && echo Eintrag schon vorhanden || echo Eintrag=neuwerwert>>%a

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

Gruß
Bitte warten ..
Mitglied: bastla
08.03.2011 um 10:13 Uhr
Hallo rotlux!

Da es hier ja nur um eine Ordnerebene (die "unbekannten" User) geht, genügt eine einfache "For Each"-Schleife:
01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
For Each SubFolder In fso.GetFolder("\\SERVER\Share").SubFolders 
03.
    Ausgabe = Ausgabe & vbCrLf & "Bearbeite " & SubFolder.Path 
04.
Next 
05.
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
Bitte warten ..
Mitglied: rotlux
08.03.2011 um 16:39 Uhr
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)
Bitte warten ..
Mitglied: 60730
08.03.2011 um 16:45 Uhr
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:
01.
strServerPath = "E:\Data\TSHome\" 
02.
strini = "\Ordner\Bearbeitemich.ini" 
kann ja nicht stimmen. - Oder kennst du einen Pfad
E:\Data\TSHome\\Ordner\Bearbeitemich.ini

Gruß
Bitte warten ..
Mitglied: bastla
08.03.2011 um 16:49 Uhr
Halo rotlux!

Die Zeile 15 (zumindest der hier geposteten - übrigens leicht abzulesen, wenn Du T-Mos Rat hinsichtlich der Formatierung 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
Bitte warten ..
Mitglied: rotlux
10.03.2011 um 08:51 Uhr
super, so hat es funktioniert
vielen Dank
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(2)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Windows Server
gelöst Terminalserver .ini Datei unter C:Windows (8)

Frage von geocast zum Thema Windows Server ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...