Laufwerksbuchstabe herausfinden vom dem aus ein PS Skript ausgeführt wird
Hallo,
ich habe eine PS Skript erstellen. Das Srikpt habe ich in eine .Exe umgewandelt. Jetzt möchte ich ein Installprogramm schreiben, womit ich mein Programm "installie" kann.
Wie bekomme ich es hin, das PS weiß, von welchem Laufwerk es gestartet wird?
Das Installprogramm kopiert eigentlich nur Dateien und Verzeichnis, muss aber natürlich wiesen von welchem LW es kopieren soll.
Bin für jeden Tipp Dankbar.
VG
ich habe eine PS Skript erstellen. Das Srikpt habe ich in eine .Exe umgewandelt. Jetzt möchte ich ein Installprogramm schreiben, womit ich mein Programm "installie" kann.
Wie bekomme ich es hin, das PS weiß, von welchem Laufwerk es gestartet wird?
Das Installprogramm kopiert eigentlich nur Dateien und Verzeichnis, muss aber natürlich wiesen von welchem LW es kopieren soll.
Bin für jeden Tipp Dankbar.
VG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5479482169
Url: https://administrator.de/contentid/5479482169
Ausgedruckt am: 22.11.2024 um 03:11 Uhr
8 Kommentare
Neuester Kommentar
$psscriptroot liefert dir den Ordner des Skript, davon kannst du alles ableiten, auch den Laufwerksbuchstaben, aber wozu wenn man schon den Skriptpfad hat, dann kann man relativ davon die Pfade ableiten...
about_Automatic_Variables ($psscriptroot)
Gruß
# Ordner des aktuellen Skripts
$psscriptroot
# Laufwerk des Skripts
Split-Path $psscriptroot -qualifier
# z.B. Elternordner des Skriptordners holen
(Get-Item $psscriptroot).Parent.Fullname
# usw.
Gruß
Zitat von @CamelCase:
ERROR: Das Argument kann nicht an den Parameter "Path" gebunden werden, da es sich um eine leere Zeichenfolge handelt.
Heißt $PSScriptRoot ist vermutlich leer, das klappt nicht wenn du das z.B. in der ISE ausführst. Klappt nur wenn das Skript gespeichert und von da ausgeführt wird.
Das gilt dann vermutlich auch für die EXE Umgebung
Zitat von @mbehrens:
Heißt $PSScriptRoot ist vermutlich leer, das klappt nicht wenn du das z.B. in der ISE ausführst. Klappt nur wenn das Skript gespeichert und von da ausgeführt wird.
Das gilt dann vermutlich auch für die EXE Umgebung
Zitat von @CamelCase:
ERROR: Das Argument kann nicht an den Parameter "Path" gebunden werden, da es sich um eine leere Zeichenfolge handelt.
Heißt $PSScriptRoot ist vermutlich leer, das klappt nicht wenn du das z.B. in der ISE ausführst. Klappt nur wenn das Skript gespeichert und von da ausgeführt wird.
Das gilt dann vermutlich auch für die EXE Umgebung
Ich meine mich zu erinnern mit PS2EXE Probleme mit $PSScriptRoot gehabt zu haben. Hab mal grad ein Skript rausgesucht was ich mit PS2EXE zur exe gemacht habe. Dort habe ich $PSScriptRoot so abgefragt:
$ScriptPath = if (-not $PSScriptRoot) { Split-Path -Parent (Convert-Path ([environment]::GetCommandLineArgs()[0])) } else { $PSScriptRoot }
Und dann die obigen Methoden um ans Laufwerk zu kommen.