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, 8439 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
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 ...

VB for Applications
VB Skript Excel Datei
gelöst Frage von FragerVB for Applications3 Kommentare

Hallo Zusammen, Ich brauche eure Hilfe. Ich habe eine Datei 1.xlsx nun brauche ich ein Skript, was die Datei ...

VB for Applications
VB Skript für mehrere Batch Befehle
gelöst Frage von freshman2017VB for Applications37 Kommentare

Hallo, zum Glück konntet Ihr mir schon sehr helfen, habe nun noch eine weitere Frage. Ich nutze derzeit ein ...

Netzwerkgrundlagen

Ldapmodify im Skript: Bestehenden Eintrag ändern

Frage von Lebowski23Netzwerkgrundlagen1 Kommentar

Hallo, ich habe hier folgende Möglichleit zur Verwendung von ldapmodify in einem Skript gefunden Ich würde aber gerne abhängig ...

Neue Wissensbeiträge
Humor (lol)
Und wie seid Ihr gegen Cyberattacken gewappnet?
Information von DerWoWusste vor 16 StundenHumor (lol)4 Kommentare

aber wo ist der Hammer? :-)

Sicherheit
Ein weiterer Microsoft-Stirnklatscher
Information von DerWoWusste vor 1 TagSicherheit7 Kommentare

Habe gerade einen Artikel zu einem Sicherheitsproblem gefunden, welches mir zu seiner Zeit (gepatcht 2015) wohl durchgerutscht ist. Es ...

Windows 10
Upgradepfade Windows 10 LTSC
Erfahrungsbericht von Datenreise vor 1 TagWindows 10

Nur eine kurze Info, für diejenigen, die es interessiert, da es hierzu im Netz aus nachvollziehbaren Gründen nicht allzu ...

Administrator.de Feedback
Wartungsarbeiten heute Nacht (Update)
Information von Frank vor 1 TagAdministrator.de Feedback10 Kommentare

Hallo User, durch Umbauarbeiten in unserem Rechenzentrum (am Backbone) kann es heute Nacht (14-15.01.2019) zu kurzen Ausfällen unserer Seite ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 - kein Boot mehr nach Domänenaustritt
gelöst Frage von Ghost108Windows 1025 Kommentare

Hallo zusammen, habe hier eine Windows 10 Maschine, die ich gerne aus der Domäne austreten lassen möchte. Nach Austritt ...

Windows 10
Windows 10 1803 - nicht identifiziertes Netzwerk - kein Login an Domäne möglich
Frage von Tomy389Windows 1021 Kommentare

Hallo Zusammen, ich hoffe zu dem Thema gibt es nicht schon einen Thread aber ich sollte eigentlich schon alles ...

Exchange Server
Microsoft Exchange Ser ver 2016 CU 8 auf den neuesten Stand bringen
gelöst Frage von Hendrik2586Exchange Server20 Kommentare

Hallo an euch alle. :) Kurze Frage. Ich habe hier einen Exchange Server wie o.g. Problem ist das wir ...

Microsoft
SFirm 4.0 auf Terminalserver startet für jeden angemeldeten Benutzer diverse Dienste
Frage von Frank84Microsoft17 Kommentare

Hallo zusammen, wir verwenden Sfirm 4.0 auf einem Terminalserver (der SQL Server ist auf einem separaten Server), das Problem ...