Réponses:
Utilisation:
ii .
ce qui est court pour
Invoke-Item .
C'est l'une des choses les plus courantes que je tape sur la ligne de commande PowerShell.
ii
est donc explorer
, le deuxième paramètre est le chemin.
Vous avez quelques options:
Exemples:
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
est un alias deInvoke-Item
Utilisez l'un de ces éléments:
start .
explorer .
start explorer .
ii .
invoke-item .
Vous pouvez appliquer n'importe laquelle de ces commandes dans PowerShell.
Au cas où vous voudriez ouvrir l'explorateur à partir de l'invite de commande, les deux dernières commandes ne fonctionnent pas et les trois premières fonctionnent correctement.
explorer .
explorer
semble récemment être hors de mon chemin
Je suis tombé sur cette question à la recherche d'un moyen d'ouvrir une fenêtre Explorer à partir de PowerShell et également de sélectionner un fichier. J'ajoute cette réponse au cas où d'autres la rencontreraient pour la même raison.
Pour lancer l'Explorateur et sélectionner un fichier, utilisez Invoke-Expression
:
Invoke-Expression "explorer '/select,$filePath'"
Il y a probablement d'autres façons de le faire, mais cela a fonctionné pour moi.
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'
[System.Diagnostics.Process]::Start($startinfo)
J'espère que cela t'aides
start explorer.exe
Commande simple sur une seule ligne
Je voulais écrire ceci comme un commentaire mais je n'ai pas 50 points de réputation.
Toutes les réponses dans ce fil sont essentiellement d'utiliser Invoke-Item ou d'utiliser explorer.exe directement; cependant, ce n'est pas complètement synonyme de "dossier contenant ouvert", donc en termes d'ouverture d'une fenêtre Explorer comme l'indique la question, si nous voulions appliquer la réponse à un fichier particulier, la question n'a toujours pas vraiment été répondue.
par exemple,
Invoke-Item C:\Users\Foo\bar.txt
explorer.exe C:\Users\Foo\bar.html
^ ces deux commandes entraîneraient l'appel Notepad.exe ou Firefox.exe sur les deux fichiers respectivement, pas une fenêtre explorer.exe sur C: \ Users \ Foo \ (le répertoire contenant).
Alors que si l'on émettait cette commande à partir de powershell, ce ne serait pas grave (moins en tapant quand même), si l'on écrit un script et doit "ouvrir le dossier contenant" sur une variable, cela devient une question de correspondance de chaîne pour extraire le répertoire de le chemin d'accès complet au fichier.
N'y a-t-il pas de simple commande "Open-Containing-Folder" telle qu'une variable puisse être substituée?
par exemple,
$foo = "C:\Users\Foo\foo.txt"
[some code] $fooPath
# opens C:\Users\Foo\ and not the default program for .txt file extension
C'est la seule chose qui correspond à mes contraintes uniques de vouloir que le dossier s'ouvre en tant qu'onglet Quizo dans n'importe quelle fenêtre de l'Explorateur existante.
$objShell = New-Object -ComObject "Shell.Application"
$objShell.Explore("path")