Dies ist jetzt eine alte Frage, aber ich kam hierher und suchte nach einer Antwort, so dass ich die Ergebnisse meines Experiments geben würde.
Es gibt ein $psISE
Objekt, das die ISE-Einstellungen, die geöffneten Dateien usw. steuert. Sie können damit viel tun.
Es gab eine vielversprechende Funktion:
$psISE.CurrentPowerShellTab.Files.Clear()
Leider würden dadurch einfach alle geöffneten Dateien geschlossen (wenn sie gespeichert wurden) und dann eine neue unbenannte Datei geöffnet.
Ich endete damit:
$null = while ($psISE.CurrentPowerShellTab.Files -ne $null) { $file = $psISE.CurrentPowerShellTab.Files[0] $psISE.CurrentPowerShellTab.Files.Remove($file) }
Grundsätzlich werden die geöffneten Dateien ständig überprüft und geschlossen, bis keine geöffnet sind. Wenn Sie dies interaktiv ausführen und ein nicht gespeichertes Dokument geöffnet haben, würden Sie ziemlich schnell von Fehlern überflutet werden, da es sich nicht schließen lässt, und dann versuchen Sie, es erneut zu schließen.
Sie können dies dann in Ihr ISE-Profil einfügen (C: \ Benutzername \ WindowsPowerShell \ Microsoft.PowerShellISE_profile.ps1). So sieht mein Profil momentan aus:
$null = while ($psISE.CurrentPowerShellTab.Files -ne $null) { $file = $psISE.CurrentPowerShellTab.Files[0] $psISE.CurrentPowerShellTab.Files.Remove($file) } psEdit $PSScriptRoot\snips.ps1
Da dies beim Starten der ISE ausgeführt wird, schließt es die unbenannte Standarddatei und öffnet eine zufällige Datei mit kleinen Ausschnitten, auf die ich stattdessen verweisen möchte. Sie können die letzte Zeile weglassen oder in eine beliebige Datei ändern, die Sie öffnen möchten.
nb, das $null =
ist da, um die Ausgabe zu unterdrücken, und es ist schneller als das Piping zu Out-Null
(was meiner Meinung nach wichtig ist, wenn Sie darauf warten, dass Ihr Editor geladen wird.)