Odpowiedzi:
Posługiwać się:
ii .
co jest skrótem od
Invoke-Item .
Jest to jedna z najczęstszych rzeczy, które piszę w wierszu poleceń programu PowerShell.
ii
jest explorer
, drugim parametrem jest ścieżka.
Masz kilka opcji:
Przykłady:
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
jest pseudonimInvoke-Item
Natknąłem się na to pytanie, szukając sposobu, aby otworzyć okno Eksploratora z PowerShell, a także wybrać plik. Dodaję tę odpowiedź, na wypadek gdyby inni z niej spotkali z tego samego powodu.
Aby uruchomić Eksploratora i wybrać plik, użyj Invoke-Expression
:
Invoke-Expression "explorer '/select,$filePath'"
Są prawdopodobnie inne sposoby, aby to zrobić, ale zadziałało to dla mnie.
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'
[System.Diagnostics.Process]::Start($startinfo)
Mam nadzieję że to pomoże
start explorer.exe
Proste polecenie jednowierszowe
Chciałem napisać to jako komentarz, ale nie mam 50 reputacji.
Wszystkie odpowiedzi w tym wątku mają na celu użycie Invoke-Item lub bezpośrednio explorer.exe; nie jest to jednak całkowicie synonimem „otwórz folder zawierający”, więc jeśli chodzi o otwarcie okna Eksploratora, jak podaje pytanie, jeśli chcielibyśmy zastosować odpowiedź do określonego pliku, pytanie tak naprawdę nie zostało jeszcze udzielone.
na przykład,
Invoke-Item C:\Users\Foo\bar.txt
explorer.exe C:\Users\Foo\bar.html
^ te dwa polecenia spowodowałyby wywołanie Notepad.exe lub Firefox.exe odpowiednio w dwóch plikach, a nie okno explorer.exe w C: \ Users \ Foo \ (zawierający katalog).
Podczas gdy ktoś wydawał to polecenie z PowerShell, nie byłoby to nic wielkiego (i tak mniej pisania), jeśli ktoś pisze skrypt i musi „otworzyć zawierający folder” na zmiennej, staje się kwestią dopasowania łańcucha w celu wyodrębnienia katalogu z pełna ścieżka do pliku.
Czy nie ma prostego polecenia „Open-Containing-Folder” takiego, że zmienna mogłaby zostać podstawiona?
na przykład,
$foo = "C:\Users\Foo\foo.txt"
[some code] $fooPath
# opens C:\Users\Foo\ and not the default program for .txt file extension
Jest to jedyna rzecz, która pasuje do moich unikalnych ograniczeń, że chcę, aby folder był otwierany jako karta Quizo w dowolnym istniejącym oknie Eksploratora.
$objShell = New-Object -ComObject "Shell.Application"
$objShell.Explore("path")