à l'aide d'un fichier batch pour exécuter un fichier ps1, mais cacher l'invite de commande après le début?

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

Question

- Je construire un petit outil avec powershell et je l'ai ouverte, par le biais d'un lot de fichier.Fichier Batch a le contenu suivant :

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

Maintenant, il ouvre mon outil, mais affiche toujours l'invite de commande en arrière-plan.Je veux le CMD pour être caché après l'exécution de mon fichier.

Comment y parvenir?J'ai essayé -hidden mais alors mon programme est caché :D

Merci

Était-ce utile?

La solution

Essayez d'utiliser l' START utilitaire dans votre fichier batch, il va lancer le programme dans une nouvelle fenêtre et permettre le lot cmd fenêtre de sortie à l'arrière-plan.

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

Être conscient START expositions [potentiellement] un comportement inattendu lorsque l' premier paramètre contient des guillemets.

Si vous êtes en utilisant des éléments graphiques, ou des applications externes, et que vous souhaitez masquer Powershell de la fenêtre, mais pas l'interface graphique, essayez les solutions suivantes:

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

Voici un exemple de la façon dont j'ai utilisé lot en tandem avec PowerShell GUI:

Contenu de C:\call.cmd:

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

Contenu de 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

L'exécution de l' call.cmd lot d'utilisation START pour lancer PowerShell [sortie cmd] et PowerShell cacher sa fenêtre, mais sinon afficher les éléments d'interface graphique exécuté à partir de la PS1 fichier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top