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

Path Systemvariable Eintrag per VB Skript löschen bzw. mit einem neuen Eintrag ersetzen

Mitglied: Jebediah

Jebediah (Level 1) - Jetzt verbinden

13.11.2006, aktualisiert 11:53 Uhr, 8412 Aufrufe, 6 Kommentare

Hallo zusammen,


wir haben bei uns eine Anwendung laufen die auf eine Oracle Datenbank zugreift. Die Datenbank wurde nun migriert auf eine neuere Oracle Version. Jetzt ist es so das auf den Client s die mit dem Programm arbeiten der alte Path Systemvariableeintrag gelöscht werden muss bzw. mit dem neuen Pfad getauscht oder überschrieben werden muss.
Da ich für die Anwendung ein Silent Setup gemacht habe müsste ich das nun anpassen. Leider reichen meine Skill's in VBS nicht ganz aus .
Ich habe da ein Skript im I-Net gefunden aber komm leider nicht ganz klar damit:
Call removePathEntry("path","J:\\cd\oracle\ora81\bin;") <<<<<<<<<< das ist der Pfad der weg muss

Sub removePathEntry(argEnv,argEntry)

Dim shell,env,Path,arPathEntries,n,entry

wscript.echo "argEnv:",argEnv
wscript.echo "argEntry:",argEntry
set shell = CreateObject("wscript.shell")
Set env = shell.environment(argEnv)
path = env("path")
WScript.echo argEnv,"before:",Path
arPathEntries = Split(path,";")
for n = 0 to ubound(arPathEntries)
entry = arPathEntries(n)
if lcase(entry) = LCase(argEntry) then
arPathEntries(n) = "J:\\cd\oracle\ora81\bin;"
elseif trim(entry) <> "" Then
arPathEntries(n) = entry & ";"
Else
arPathEntries(n) = ""
end If
Next
path = join(arPathEntries,"")
wscript.echo argEnv," after:",path
env("path") = Path

end Sub
Leider bekomme ich in Zeile 12 einen Fehler und weiss aber nicht woran es liegt.

Hat jemand ne Ahnung wo der Fehler ist.


Vielen Dank an euch vorab

VG

Jebediah
Mitglied: MCSE-Cheffe
13.11.2006 um 11:31 Uhr
Hallo,

ich habe einiges geändert sollte jetzt gehen, teste es mal und gib kurz Bescheid.

Call removePathEntry("%Path%","J:\\cd\oracle\ora81\bin;")

Sub removePathEntry(argEnv,argEntry)

Dim shell,env,Path,arPathEntries,n,entry

WScript.echo "argEnv:",argEnv
WScript.echo "argEntry:", argEntry

Set shell = CreateObject("wscript.shell")
Set env = shell.environment("system")

Path = shell.ExpandEnvironmentStrings("%Path%")
WScript.echo argEnv,"before:",Path
arPathEntries = Split(Path,";")

For n = 0 To UBound(arPathEntries)
entry = arPathEntries(n)
If LCase(entry) = LCase(argEntry) Then
arPathEntries(n) = "J:\\cd\oracle\ora81\bin;"
ElseIf Trim(entry) <> "" Then
arPathEntries(n) = entry & ";"
Else
arPathEntries(n) = ""
End If
Next

Path = Join(arPathEntries,"")
WScript.echo argEnv," after:",Path
env("%Path%") = Path

End Sub


Gruß MCSE_Cheffe
Bitte warten ..
Mitglied: Jebediah
13.11.2006 um 11:38 Uhr
Hy MCSE_Cheffe,


danke für deine Hilfe. Das Skript läuft jetzt durch aber danach ist der Eintrag immer noch da da:

argEnv: %Path%
argEntry: J:\\cd\oracle\ora81\bin;
%Path% before: C:\Program Files\SAPIEN\PrimalScript Professional;C:\WINDOWS\system32;C:\WINDOWS\System32\Wbem;C:\Program Files\Resource Kit\;C:\WINDOWS\DPDrv;C:\PROGRA~1\Griaule\GRFING~1.1FR\bin;C:\Program Files\InstallShield\AdminStudio\7.0\Common\;J:\\cd\oracle\ora81\bin;
%Path% after: C:\Program Files\SAPIEN\PrimalScript Professional;C:\WINDOWS\system32;C:\WINDOWS\System32\Wbem;C:\Program Files\Resource Kit\;C:\WINDOWS\DPDrv;C:\PROGRA~1\Griaule\GRFING~1.1FR\bin;C:\Program Files\InstallShield\AdminStudio\7.0\Common\;J:\\cd\oracle\ora81\bin;

oder habe ich vergessen ein Wert anzupassen wo der neue Pfad rein muss ?


VG

Jebediah
Bitte warten ..
Mitglied: Jebediah
13.11.2006 um 11:43 Uhr
ach ja und noch was jetzt habe ich in den Variablen noch einen Wert stehen %path% aber eigentlich sollte das Skript den wert ja nur aus dem vorhanden path löschen

thx

Jebediah
Bitte warten ..
Mitglied: MCSE-Cheffe
13.11.2006 um 11:45 Uhr
Habe die Strichpunkte bei deinem String vergessen zu entfernen. Da der Vergleich ja ohne den Strichpunkt am Ende deines Strings gemacht wird.
Und er den Eintrag darum nicht finden kann.
Hier nochmal die neuen Version.

Call removePathEntry("%Path%","J:\\cd\oracle\ora81\bin")

Sub removePathEntry(argEnv,argEntry)

Dim shell,env,Path,arPathEntries,n,entry

WScript.echo "argEnv:",argEnv
WScript.echo "argEntry:", argEntry

Set shell = CreateObject("wscript.shell")
Set env = shell.environment("system")

Path = shell.ExpandEnvironmentStrings("%Path%")
WScript.echo argEnv,"before:",Path
arPathEntries = Split(Path,";")

For n = 0 To UBound(arPathEntries)
entry = arPathEntries(n)
If LCase(entry) = LCase(argEntry) Then
arPathEntries(n) = "J:\\cd\oracle\ora81\bin"
ElseIf Trim(entry) <> "" Then
arPathEntries(n) = entry & ";"
Else
arPathEntries(n) = ""
End If
Next

Path = Join(arPathEntries,"")
WScript.echo argEnv," after:",Path
env("%Path%") = Path

End Sub

Gruß MCSE_Cheffe
Bitte warten ..
Mitglied: MCSE-Cheffe
13.11.2006 um 11:50 Uhr
Wegen dem %Path% die vorletzte Zeile muss natürlich so aussehen:
env("Path") = Path
Ohne Prozent

Gruß MCSE_Cheffe
Bitte warten ..
Mitglied: Jebediah
13.11.2006 um 11:53 Uhr
*perfekt* !!!!!!

nochmals Vielen Dank für Deine Hilfe echt Top !!!!

Du hast mir eineige Stunden arbeit erspart )


Viele Grüße

Jebediah
Bitte warten ..
Ähnliche Inhalte
Microsoft

Registry Einträge Löschen (Skript)

Frage von ShnuuuMicrosoft4 Kommentare

Hallo, ich bräuchte bitte ein Skript oder ein Programm mit dem ich sehr viele Registry Einträge löschen muss. Ich ...

VB for Applications

VB Skript Löschen von Ordner funktioniert nicht

gelöst Frage von ricsonVB for Applications4 Kommentare

Servus zusammen ! ich versuche schon seit einiger Zeit, ein Skript zu schreiben, welches mir bestimmte User Profil Ordner ...

Batch & Shell

Dauerhaftes ersetzen in der Umgebungsvariable Path

gelöst Frage von busteronBatch & Shell9 Kommentare

Hallöchen, ich hab mal wieder eine Frage! Wie kann man dauerhaft einen einen Wert in der Umgebungsvariable "Path" ersetzen ...

VB for Applications

Hilfe bei VB Skript

Frage von Voner1502VB for Applications1 Kommentar

Hallo zusammen. Ich habe ein Skript für die Übernahme von Druckern vom alten Servern zum neuen Server bekommen. Diese ...

Neue Wissensbeiträge
Windows 10

Mikrofon von Headset geht nach Update auf Windows 10 1803 nicht mehr

Tipp von Deepsys vor 3 StundenWindows 10

Ich verwende ein Plantronics Headset das per USB mit dem Windows 10 PC verbunden ist. Damit kann ich auch ...

Video & Streaming

Ruckelfreies Fernsehen auf Smartphone oder Tablet - in SD oder gar HD - Eine Alternative zum Fritz DVB-C Receiver

Anleitung von power-user vor 17 StundenVideo & Streaming3 Kommentare

Wer kennt das nicht: Man möchte gemütlich auf dem Balkon sitzen und vielleicht grillen und dabei das WM-Spiel gucken ...

Erkennung und -Abwehr
Trendmicro WFBS 10 ist in deutsch verfügbar!
Tipp von VGem-e vor 1 TagErkennung und -Abwehr2 Kommentare

Servus Kollegen, downloadbar unter

Windows Update

Microsoft Patchday Juni 2018 - BSOD, obwohl noch kein Patch freigegeben

Erfahrungsbericht von diemilz vor 1 TagWindows Update4 Kommentare

Hallo zusammen, wir hatten hier letzte Woche ein massives Problem. Alles begann damit, dass ein Mitarbeiter kurz vor Feierabend ...

Heiß diskutierte Inhalte
Windows Userverwaltung
User Überwachung
Frage von YellowcakeWindows Userverwaltung20 Kommentare

Hey ich habe von unserem neuem Datenschutzbeauftragten ein kleines Horror Paket bekommen. Ich soll wenn es möglich ist, das ...

CPU, RAM, Mainboards
ASUS P5W DELUXE startet nur manchmal und nur mit 2 GraKas
Frage von Windows10GegnerCPU, RAM, Mainboards18 Kommentare

Hallo, ich habe das o.g. Motherboard erhalten. Egal ob C2D 8400, Pentium D 945 oder P4 670, das teil ...

Batch & Shell
Powershell Netzwerkdrucker auflisten
gelöst Frage von schiggi85Batch & Shell18 Kommentare

Hallo zusammen, ich möchte mit dem invoke-command bei einem remoteclient die installierten Netzwerkdrucker des Users abfragen. Nur klappt das ...

Outlook & Mail
Nachweis des Löschens einer Email nach DSGVO in Outlook
Frage von linuxadmOutlook & Mail18 Kommentare

Hallo Forum, wie wahrscheinlich viele von Euch kämpfe ich mit der Umsetzung der DSGVO bei meinen Kunden. Konkret geht ...