verwenden einer Batchdatei zum Ausführen einer PS1-Datei, aber Ausblenden der Eingabeaufforderung nach dem Start?

StackOverflow https://stackoverflow.com//questions/20050772

Frage

Ich baue ein kleines Tool mit Powershell und öffne es über eine Batch-Datei.Batch-Datei hat den folgenden Inhalt :

powershell -file "D:\scripts\Powershell\xxx.ps1"

Jetzt öffnet es mein Tool, zeigt aber immer die Eingabeaufforderung im Hintergrund an.Ich möchte, dass der Befehl nach dem Ausführen meiner Datei ausgeblendet wird.

Wie kann man das erreichen?Ich habe es versucht -hidden aber dann ist mein Programm versteckt: D

Danke

War es hilfreich?

Lösung

Versuchen Sie es mit dem START dienstprogramm in Ihrer Batchdatei, es wird das Programm in einem neuen Fenster starten und die Batch-Dateien zulassen cmd fenster zum Verlassen im Hintergrund.

START powershell -file "D:\scripts\Powershell\xxx.ps1"

Seien Sie sich bewusst START zeigt [potenziell] unerwartetes Verhalten, wenn die der erste Parameter enthält doppelte Anführungszeichen.

Wenn Sie GUI-Elemente oder externe Anwendungen verwenden und das Powershell-Fenster, aber nicht die GUI ausblenden möchten, versuchen Sie Folgendes:

START powershell -WindowStyle Hidden "D:\scripts\Powershell\xxx.ps1"

Hier ist ein Beispiel dafür, wie ich Batch zusammen mit der PowerShell-GUI verwendet habe:

Inhalt von C:\call .cmd:

START "" powershell -NoLogo -WindowStyle Hidden "C:\gui.ps1"

Inhalt von C:\gui.ps1:

# VB Assembly GUI example
Add-Type -AssemblyName Microsoft.VisualBasic
[Microsoft.VisualBasic.Interaction]::MsgBox(
    "Do you like VB in PowerShell?",
    [Microsoft.VisualBasic.MsgBoxStyle]::YesNo,
    "Hello"
)

# Windows Forms GUI example
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.MessageBox]::Show(
    "Do you like Windows Forms?",
    "Hello",
    [System.Windows.Forms.MessageBoxButtons]::YesNo
)

# External app GUI example
& notepad.exe

Ausführen des call.cmd batch wird verwendet START so starten Sie PowerShell [Beenden cmd] und PowerShell blendet sein Fenster aus, zeigt aber ansonsten die GUI-Elemente an, die aus der PS1-Datei ausgeführt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top