Búsqueda recursiva de archivos usando PowerShell
Estoy buscando un archivo en todas las carpetas.
Copyforbuild.bat
Está disponible en muchos lugares y me gustaría buscar de forma recursiva.
$File = "V:\Myfolder\**\*.CopyForbuild.bat"
¿Cómo puedo hacerlo en PowerShell?
Utilice el cmdlet Get-ChildItem con el -Recurse
modificador:
Get-ChildItem -Path V:\Myfolder -Filter CopyForbuild.bat -Recurse -ErrorAction SilentlyContinue -Force
Utilizo esto para buscar archivos y luego hago que PowerShell muestre la ruta completa de los resultados:
dir -Path C:\FolderName -Filter FileName.fileExtension -Recurse | %{$_.FullName}
Siempre puedes usar el comodín *
en FolderName
y/o FileName.fileExtension
. Por ejemplo:
dir -Path C:\Folder* -Filter File*.file* -Recurse | %{$_.FullName}
El ejemplo anterior buscará cualquier carpeta en la C:\
unidad que comience con la palabra Folder
. Entonces, si tiene una carpeta con nombre FolderFoo
, FolderBar
PowerShell mostrará los resultados de ambas carpetas.
Lo mismo ocurre con el nombre y la extensión del archivo. Si desea buscar un archivo con una determinada extensión, pero no sabe el nombre del archivo, puede utilizar:
dir -Path C:\FolderName -Filter *.fileExtension -Recurse | %{$_.FullName}
O viceversa:
dir -Path C:\FolderName -Filter FileName.* -Recurse | %{$_.FullName}