Jestem pewien, że to musi być możliwe, ale nie mogę się dowiedzieć, jak to zrobić.Czy można otworzyć okno Eksploratora Windows z PowerShell?
Jakieś wskazówki?
Jestem pewien, że to musi być możliwe, ale nie mogę się dowiedzieć, jak to zrobić.Czy można otworzyć okno Eksploratora Windows z PowerShell?
Jakieś wskazówki?
Zastosowanie:
ii .
Jest to jedna z najczęstszych rzeczy wpisuję na polecenia PowerShell linia.
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'
[System.Diagnostics.Process]::Start($startinfo)
Nadzieja to pomaga
Nie wiem, dlaczego to jest uzyskiwanie przegłosowana - Widzę go nie głosując za brak elegancji, ale to wciąż dobra (choć rozwlekła) odpowiedź :) Dostajesz moje UP. – slipsec
Zgadzam się. Jest o wiele więcej kodu, ale pozwala na pewną elastyczność. –
Wystarczy użyć apletu polecenia Invoke-punkt. Na przykład, jeśli chcesz, aby otworzyć okno Explorer w bieżącym katalogu można zrobić:
invoke-item .
explorer .
To jest to, czego używam od lat, ale ostatnio 'explorer' wydaje się być poza moją ścieżką – DaveD
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")
start explorer.exe
Prosta linia pojedyncza komenda
"start". działa również –
natknąłem to pytanie szuka sposobu, aby otworzyć okno Eksploratora z PowerShell i także wybierz plik. Dodaję tę odpowiedź na wypadek, gdyby inni napotkali ją z tego samego powodu.
Aby uruchomić Eksploratora i wybrać plik, użyj Invoke-Expression
:
Invoke-Expression "explorer '/select,$filePath'"
Istnieją zapewne inne sposoby, aby to zrobić, ale ten pracował dla mnie.
Chciałem napisać to jako komentarz, ale nie mam 50 punktów reputacji.
Wszystkie odpowiedzi w tym wątku dotyczą zasadniczo użycia elementu Invoke-Item lub bezpośredniego użycia programu explorer.exe; jednak nie jest to całkowicie równoznaczne z "otwartym folderem zawierającym", więc jeśli chodzi o otwarcie okna Eksploratora, jak stwierdza się w pytaniu, jeśli chcemy zastosować odpowiedź do konkretnego pliku, pytanie wciąż nie zostało odebrane.
np
Invoke-Item C:\Users\Foo\bar.txt
explorer.exe C:\Users\Foo\bar.html
^te dwa polecenia spowodowałoby Notepad.exe lub firefox.exe powołano się na dwóch plików odpowiednio, a nie okno explorer.exe na C: \ Users \ Foo \ (katalog zawierający).
Podczas gdy jeden wydał to polecenie z powershell, nie byłoby to nic wielkiego (pomijając wpisywanie), jeśli ktoś jest skryptem i musi "otworzyć zawierający folder" na zmiennej, staje się kwestią dopasowywania ciągów do wyodrębnij katalog z pełnej ścieżki do pliku.
Czy nie ma prostego polecenia "Open-Containing-Folder", że zmienna może być podstawiona?
np
$foo = "C:\Users\Foo\foo.txt"
[some code] $fooPath
# opens C:\Users\Foo\ and not the default program for .txt file extension
Invoke-Item ([io.fileinfo] "C: \ temp \ file.txt"). Directory –
Alternatywa zasadniczo taka sama, ale zachowuje wszystko w cmdletach Powershell: *** ii (Split-Path "C: \ temp \ plik.txt") *** – EBGreen
Zastosowanie linię:
invoke-item c:\path
wykorzystać dowolne z następujących objawów:
start .
explorer .
start explorer .
ii .
invoke-item .
Można zastosować dowolny z tych poleceń PowerShell.
Na wypadek, gdybyś chciał otworzyć eksplorację z wiersza poleceń, ostatnie dwa polecenia nie działają, a pierwsze trzy działają poprawnie.
Jest to jedyna rzecz, która pasuje moje unikalne ograniczeń
$objShell = New-Object -ComObject "Shell.Application"
$objShell.Explore("path")
To zabawne, że nikt nie odpowiedział na tę najprostszą odpowiedź, ale ty. :) – halr9000
Jestem bardzo prostą osobą. – EBGreen
To polecenie jest skrótem od Invoke-Item. Kropka po niej może być dowolną ścieżką. –