Risposte:
Uso:
ii .
che è l'abbreviazione di
Invoke-Item .
È una delle cose più comuni che scrivo nella riga di comando di PowerShell.
ii
è explorer
, il secondo parametro è percorso.
Hai alcune opzioni:
Esempi:
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
è un alias diInvoke-Item
explorer .
explorer
sembra essere fuori strada
Mi sono imbattuto in questa domanda cercando un modo per aprire una finestra di Explorer da PowerShell e anche selezionare un file. Sto aggiungendo questa risposta nel caso in cui altri la trovino per lo stesso motivo.
Per avviare Explorer e selezionare un file, utilizzare Invoke-Expression
:
Invoke-Expression "explorer '/select,$filePath'"
Probabilmente ci sono altri modi per farlo, ma questo ha funzionato per me.
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'
[System.Diagnostics.Process]::Start($startinfo)
Spero che questo ti aiuti
start explorer.exe
Semplice comando a linea singola
Volevo scrivere questo come commento ma non ho 50 reputazione.
Tutte le risposte in questo thread sono essenzialmente per utilizzare Invoke-Item o per utilizzare direttamente explorer.exe; tuttavia, questo non è del tutto sinonimo di "Apri cartella contenente", quindi in termini di apertura di una finestra di Explorer come afferma la domanda, se volessimo applicare la risposta a un determinato file la domanda non ha ancora ricevuto una risposta.
per esempio,
Invoke-Item C:\Users\Foo\bar.txt
explorer.exe C:\Users\Foo\bar.html
^ quei due comandi comporterebbero il richiamo di Notepad.exe o Firefox.exe sui due file rispettivamente, non una finestra explorer.exe su C: \ Users \ Foo \ (la directory contenente).
Mentre se si stesse eseguendo questo comando da PowerShell, questo non sarebbe un grosso problema (meno digitando comunque), se si sta eseguendo uno script e si deve "aprire la cartella contenente" su una variabile, diventa una questione di corrispondenza delle stringhe per estrarre la directory da il percorso completo del file.
Non esiste un semplice comando "Apri-Contenente-Cartella" in modo tale che una variabile possa essere sostituita?
per esempio,
$foo = "C:\Users\Foo\foo.txt"
[some code] $fooPath
# opens C:\Users\Foo\ and not the default program for .txt file extension
Questa è l'unica cosa che si adatta ai miei vincoli unici di voler aprire la cartella come una scheda Quizo in qualsiasi finestra di Explorer esistente.
$objShell = New-Object -ComObject "Shell.Application"
$objShell.Explore("path")