Frage zu Powershell externe Parameterübergabe einer Software an eine Start Bedingung setzen
Hi,
bin ebenfalls ein Neuling und hab eine ganz spezifische Frage und zwar gibt es pro Verknüpfung ja unter den Eigenschaften und
dem Reiter Verknüpfung, die Möglichkeit ja noch seperate Befehle dran zu hängen wie "exec" oder "path". Leider funktioniert es nicht so
wie z.B. bei einer Batchdatei. Kennt jemand die Möglichkeit dieses zu umgehen.
Als Beispiel poste ich mal mein Beispielskript hier rein.
Ich würde mich sehr über eine Antwort bzw. Verständniskorrekturen freuen face-smile
#=====================================
Funktionsbereich des Skriptes
#=====================================
Function Test1
{
Write-Host "In diesem Bereich wird Test1 durchgeführt"
set-location D:\Test2\Test
Start-Process ..\exe\Strukturarchivierung
weiß nicht wie das eingebettet wird -path= D:\Test2\test -dump -clean -exec
}
Function Test2
{
Write-Host "In diesem Bereich wird Test2"
set-location D:\test2\test
Start-Process ..\exe\index a
}
Function Test3
{
Write-Host "In diesem Bereich wird Test3 durchgeführt"
set-location D:\test
Start-Process all /a
}
#======================================
Skriptbody
#======================================
$Auswahl = Read-Host "Welche Funktion soll ausgeführt werden? [1] Test1 [2] Test2 [3] Test3"
if ($Auswahl -eq "1")
{
Test1
}
elseif ( $Auswahl -eq "2")
{
Test2
}
elseif ( $Auswahl -eq "3")
{
Test3
}
else
{
Write-Host "Auswahl ist fehlerhaft!"
}
Noch kurz ein Dankeschön an Florian Sauber für den Beitrag im anderen Programmbereich. Hat wunderbar funktioniert, gibt es jedoch eine saubere Lösung in Powershell die Zusatzparameter aus einem externen Programm zu übergeben? Habe soweit verstanden, es mit der Batchdatei gelöst.
Wäre "falls es geht" den generell sowas möglich?
bin ebenfalls ein Neuling und hab eine ganz spezifische Frage und zwar gibt es pro Verknüpfung ja unter den Eigenschaften und
dem Reiter Verknüpfung, die Möglichkeit ja noch seperate Befehle dran zu hängen wie "exec" oder "path". Leider funktioniert es nicht so
wie z.B. bei einer Batchdatei. Kennt jemand die Möglichkeit dieses zu umgehen.
Als Beispiel poste ich mal mein Beispielskript hier rein.
Ich würde mich sehr über eine Antwort bzw. Verständniskorrekturen freuen face-smile
#=====================================
Funktionsbereich des Skriptes
#=====================================
Function Test1
{
Write-Host "In diesem Bereich wird Test1 durchgeführt"
set-location D:\Test2\Test
Start-Process ..\exe\Strukturarchivierung
weiß nicht wie das eingebettet wird -path= D:\Test2\test -dump -clean -exec
}
Function Test2
{
Write-Host "In diesem Bereich wird Test2"
set-location D:\test2\test
Start-Process ..\exe\index a
}
Function Test3
{
Write-Host "In diesem Bereich wird Test3 durchgeführt"
set-location D:\test
Start-Process all /a
}
#======================================
Skriptbody
#======================================
$Auswahl = Read-Host "Welche Funktion soll ausgeführt werden? [1] Test1 [2] Test2 [3] Test3"
if ($Auswahl -eq "1")
{
Test1
}
elseif ( $Auswahl -eq "2")
{
Test2
}
elseif ( $Auswahl -eq "3")
{
Test3
}
else
{
Write-Host "Auswahl ist fehlerhaft!"
}
Noch kurz ein Dankeschön an Florian Sauber für den Beitrag im anderen Programmbereich. Hat wunderbar funktioniert, gibt es jedoch eine saubere Lösung in Powershell die Zusatzparameter aus einem externen Programm zu übergeben? Habe soweit verstanden, es mit der Batchdatei gelöst.
Wäre "falls es geht" den generell sowas möglich?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 168090
Url: https://administrator.de/contentid/168090
Ausgedruckt am: 26.11.2024 um 18:11 Uhr
2 Kommentare
Neuester Kommentar
Moin moin
Also Vorab:
Wenn du Code postest, soltest du diesen entsperchend [javascript:format('/helpsystem/detail.php?idx=20') Formatieren]. Das erhöt die Lesbarkeit und Übersichtlichkeit doch erheblich,
Wenn ich deine Frage richtig verstehe, möchtest du verschiedene Prozesse mit Parametern starten.
Dazu brauchst du erstmal den Pfad der jeweiligen Exe und du must natürlich wissen, welche Parameter diese überhaupt versteht.
Dann ist das CmdLet "Start-Process" schon richtig.
Wenn du in der Powershell
oder gleich
eingibst werden dir Hilfe und Beispiele zu diesem CmdLet ausgegeben.
Ein Beispiel mit Notepad das als Parameter den Pfad eine Textdatei bekommt:
Ich hoffe das hilft dir weiter.
Gruß L.
Also Vorab:
Wenn du Code postest, soltest du diesen entsperchend [javascript:format('/helpsystem/detail.php?idx=20') Formatieren]. Das erhöt die Lesbarkeit und Übersichtlichkeit doch erheblich,
Wenn ich deine Frage richtig verstehe, möchtest du verschiedene Prozesse mit Parametern starten.
Dazu brauchst du erstmal den Pfad der jeweiligen Exe und du must natürlich wissen, welche Parameter diese überhaupt versteht.
Dann ist das CmdLet "Start-Process" schon richtig.
Wenn du in der Powershell
man Start-Process
man Start-Process - examples
Ein Beispiel mit Notepad das als Parameter den Pfad eine Textdatei bekommt:
start-process --filepath C:\Windowssystem32\notepad.exe -Argumentlist C:\test.txt
Gruß L.