Antworten:
Verwenden:
ii .
das ist die Abkürzung für
Invoke-Item .
Dies ist eines der häufigsten Dinge, die ich in der PowerShell-Befehlszeile eingebe.
ii
ist also der explorer
zweite Parameter ist path.
Sie haben einige Möglichkeiten:
Beispiele:
PS C:\> explorer
PS C:\> explorer .
PS C:\> explorer /n
PS C:\> Invoke-Item c:\path\
PS C:\> ii c:\path\
PS C:\> Invoke-Item c:\windows\explorer.exe
PS C:\> ii c:\windows\explorer.exe
PS C:\> [diagnostics.process]::start("explorer.exe")
ii
ist ein Alias vonInvoke-Item
Verwenden Sie eine der folgenden Optionen:
start .
explorer .
start explorer .
ii .
invoke-item .
Sie können jeden dieser Befehle in PowerShell anwenden.
Nur für den Fall, dass Sie den Explorer über die Eingabeaufforderung öffnen möchten, funktionieren die letzten beiden Befehle nicht und die ersten drei funktionieren einwandfrei.
explorer .
explorer
scheint es mir aus dem Weg zu gehen
Ich bin auf diese Frage gestoßen, als ich nach einer Möglichkeit gesucht habe, ein Explorer-Fenster in PowerShell zu öffnen und auch eine Datei auszuwählen. Ich füge diese Antwort hinzu, falls andere aus demselben Grund darauf stoßen.
Verwenden Sie Folgendes, um den Explorer zu starten und eine Datei auszuwählen Invoke-Expression
:
Invoke-Expression "explorer '/select,$filePath'"
Es gibt wahrscheinlich andere Möglichkeiten, dies zu tun, aber das hat bei mir funktioniert.
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'
[System.Diagnostics.Process]::Start($startinfo)
Hoffe das hilft
start explorer.exe
Einfacher einzeiliger Befehl
Ich wollte dies als Kommentar schreiben, habe aber keinen Ruf.
Alle Antworten in diesem Thread beziehen sich im Wesentlichen auf Invoke-Item oder direkt auf explorer.exe. Dies ist jedoch nicht vollständig gleichbedeutend mit "Öffnen mit Ordner". Wenn Sie also ein Explorer-Fenster öffnen möchten, wie in der Frage angegeben, wurde die Frage, wenn wir die Antwort auf eine bestimmte Datei anwenden möchten, immer noch nicht wirklich beantwortet.
z.B,
Invoke-Item C:\Users\Foo\bar.txt
explorer.exe C:\Users\Foo\bar.html
^ Diese beiden Befehle würden dazu führen, dass Notepad.exe oder Firefox.exe für die beiden Dateien aufgerufen werden, nicht für ein explorer.exe-Fenster in C: \ Users \ Foo \ (das enthaltende Verzeichnis).
Wenn man diesen Befehl von Powershell aus ausgeben würde, wäre dies keine große Sache (ohnehin weniger Typisierung). Wenn man Skripte erstellt und den Ordner "enthält" für eine Variable öffnen muss, ist es eine Frage des String-Abgleichs, aus dem das Verzeichnis extrahiert wird der vollständige Pfad zur Datei.
Gibt es keinen einfachen Befehl "Open-Containing-Folder", so dass eine Variable ersetzt werden könnte?
z.B,
$foo = "C:\Users\Foo\foo.txt"
[some code] $fooPath
# opens C:\Users\Foo\ and not the default program for .txt file extension
Dies ist das einzige, was meinen einzigartigen Einschränkungen entspricht, dass der Ordner als Quizo-Registerkarte in einem vorhandenen Explorer-Fenster geöffnet werden soll.
$objShell = New-Object -ComObject "Shell.Application"
$objShell.Explore("path")