ra1den
Goto Top

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?

Content-ID: 168090

Url: https://administrator.de/contentid/168090

Ausgedruckt am: 26.11.2024 um 18:11 Uhr

Logan000
Logan000 16.06.2011 um 09:27:56 Uhr
Goto Top
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
man Start-Process
oder gleich
man Start-Process - examples
eingibst werden dir Hilfe und Beispiele zu diesem CmdLet ausgegeben.

Ein Beispiel mit Notepad das als Parameter den Pfad eine Textdatei bekommt:
start-process --filepath C:\Windowssystem32\notepad.exe -Argumentlist C:\test.txt
Ich hoffe das hilft dir weiter.

Gruß L.
ra1den
ra1den 16.06.2011 um 16:49:10 Uhr
Goto Top
Danke dir hat wunderbar geklappt! Das was ich gesucht habe bildet sich dann so
Start-Process Strukturarchivierung -ArgumentList "-path= D:\Test2\test -dump -clean -exec"

Dankeschön an Logan000 und Florian Sauber.

Ich hake mal den Beitrag als gelöst ab.

Gruß ra1den der nun weiter sich am Skripten probiert =)