Obtenir powershell pour afficher tous les chemins où un certain fichier peut être trouvé sur un lecteur
Je suis en train de construire une fonction qui va me montrer tout ce chemin où un certain nom de fichier est situé. La fonction serait de prendre un seul paramètre, le nom de fichier.
Le résultat serait une liste de tous les chemins, ou un message disant qu'il n'y a pas de tel fichier sur le système.
Je suis nouveau sur Powershell, et je n'y trouve pas la syntaxe pour l'instant.
J'ai essayé ceci:
Get-ChildItem -Path -Include notepad.exe
Mais qui l'a lancé un message d'erreur. Je suis en train d'essayer:
$i="notepad.exe"
Foreach ($i in Get-ChildItem c:\ -Recurse){echo -Path}
Commencé que maintenant, c'est toujours en cours d'exécution, je ne sais pas ce qui va arriver, vraiment.
EDIT: echo avais une énorme quantité de lignes que de simplement dire "Chemin"...
Quelqu'un peut aider avec ce problème? Je suis en cours d'exécution de Powershell 1.0 par la voie.
Pour expliquer ce que je souhaite voir lors de l'exécution de cette commande, voici un exemple de ce que j'attends après à la recherche d' *.txt:
C:/foo.txt
C:/A/foobar.txt
C:/A1/foo.txt
Et ainsi de suite, indiquant le chemin d'accès à tous .txt des fichiers sur mon disque dur. Seulement les chemins d'accès, un par ligne, pas d'infos supplémentaires nécessaires.
EDIT2:
Je l'ai fait. Je vais laisser cette question pour ceux qui font de l'oeil dans l'avenir.
La fonction que j'ai utilisé était ce(cet exemple précis vous remettra une liste de tous les .les fichiers zip sur votre disque dur, modifiez si nécessaire):
Get-ChildItem -Path c:\ -Include "*.zip" -Recurse -Force -Name > c:\listOfPaths.txt
Cela a créé un fichier appelé listOfPaths.txt sur mon C:\ dossier et celui-ci contient une liste de toutes les occurrences de n'importe quel fichier se terminant par .zip dans tous les sous-dossiers de mon disque dur.
Le "c:\" bit n'est pas mentionné, mais je n'ai pas l'esprit.
EDIT3:
grâce capar pour une version plus complète.
Ici est capar du code(ou comment je l'ai eu à travailler, depuis Get-Enfants n'a pas de travail en 1.0)
Get-ChildItem -Path c:\ -Recurse *.txt | Select-Object -Property FullName
- +1 pour vous ramener à 0, je ne vois rien de digne d'une downvote.
- grâce capar, encore à essayer de comprendre cette commande.
- Pourquoi quelqu'un viol ce post et downvote il? " dir *.zip /s > foo.txt " se faire sur le même.
Vous devez vous connecter pour publier un commentaire.
Puisque c'est vendredi soir, j'ai décidé de jouer avec Power Shell pour voir si je peux vous aider 🙂
C'est assez proche de ce que vous demandez je pense:
Si ça aide, cette commande liste les propriétés de n'importe quel objet qui sera retournée par Get-ChildItem:
ls c:\ -r | ? {$_.nom -eq "notepad.exe"}
Get-Enfants n'est pas reconnu dans Powershell V3 soit. Ce serait génial si quelqu'un a enlevé le mauvais exemple.
Comme un avertissement à quiconque recherche de fichiers: C:\ sur aujourd'hui, les disques durs va prendre un certain temps à s'exécuter. Vous êtes bien conseillé pour affiner votre recherche autant que vous le pouvez. Depuis votre structure de dossier peut contenir d'espaces ou de caractères spéciaux, utilisez la machine à écrire les guillemets (") ou une apostrophe (') les délimiteurs.
$mylistoffiles = Get-ChildItem -Chemin "C:\Windows\Setup\Scripts' -Recurse *.cmd | Select-Object -Propriété FullName
$mylistoffiles