Leider konnte ich das nicht automatisch auf einen Timer einstellen. Es verwendet die $psISE
Variable, auf die ich nicht über Hintergrundjobs oder registrierte Ereignisse zugreifen kann.
Sie müssen Ihr ISE-Profil bearbeiten. Möglicherweise müssen Sie es erstellen. Es befindet sich normalerweise in C: \ Users_USERNAME_ \ Documents \ WindowsPowerShell \ Microsoft.PowerShellISE_profile.ps1
Legen Sie zunächst fest, wo die Informationen zu dem, was Sie geöffnet haben, gespeichert werden sollen:
$SavePath = Join-Path -Path (Split-Path -Path $profile) -ChildPath 'openFiles.txt'
Daraufhin wird eine TXT-Datei im selben Ordner wie das Profil abgelegt.
Überprüfen Sie dann, ob die Dateien vorhanden sind, und öffnen Sie die darin aufgeführten Dateien.
if (Test-Path -Path $SavePath) { $OpenFiles = Import-Csv -Path $SavePath psEdit -filenames $OpenFiles }
Das letzte Teil des Puzzles ist eine Funktion, die die aktuell geöffneten Dateien erfasst und die vollständigen Pfade in die TXT-Datei speichert.
function Save-OpenFile { $Files = @() foreach ($Tab in $psISE.PowerShellTabs) { foreach ($File in ($Tab.Files | Where-Object { !$_.IsUntitled })) { $Files += $File.FullPath } } $Files | Out-File -FilePath $SavePath }
Laufen Sie Save-OpenFile
ab und zu (und bevor Sie die ISE schließen) und das, was Sie zu diesem Zeitpunkt geöffnet hatten, wird wieder geöffnet. Wie ich zu Beginn dieses Beitrags sagte, wäre es toll, wenn Sie dies automatisch auslösen könnten, wenn die ISE geschlossen wird, aber ich nicht auf die Informationen innerhalb eines solchen Ereignisses zugreifen kann.
Sie können die Dinge vereinfachen, indem Sie einen Alias für die Funktion hinzufügen oder etwas anderes tun, um sie Ihrem regulären Workflow hinzuzufügen, so dass es zur Gewohnheit wird, dass Sie sie regelmäßig ausführen.
Ich hoffe, das hilft oder startet Sie auf dem richtigen Weg, um eine vollständige Lösung zu erhalten.
Hinweis: Einige alternative PowerShell-Editoren öffnen Ihre Dokumente zwischen den Sitzungen erneut. Wenn Sie also nicht zufrieden sind, sollten Sie diese Optionen als Optionen untersuchen.