
Intentaré que esto sea lo más conciso posible.
Estoy usando PowerShell 7.2.0 y no puedo conseguir que el where-object
comando o sus alias where
funcionen ?
.
Lo que quiero es la misma funcionalidad que con el where
comando en CMD.
Probé el comando y sus alias, pero ninguno devuelve nada. He confirmado que ya están allí (no es necesario establecer alias) con el get-alias
comando.
¿Cómo puedo arreglar esto?
Respuesta1
El equivalente enPotencia ShellesGet-ChildItem.
Sin ningún parámetro, es el equivalente dir
a cmd.
PS C:\...\DummyDesktop>gci
Directory: C:\Users\keith\DummyDesktop
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/30/2021 3:51 AM 11 logs.txt
-a---- 11/14/2021 11:07 PM 4833 Regex Whitespace Mode.txt
-a---- 11/9/2021 4:51 AM 1011 troubleshooting updates.txt
-a---- 11/9/2021 2:55 AM 143 Update Error Troubleshooting.url
- Sin ninguna ruta especificada, utiliza la ubicación actual.
- Para incluir subdirectorios de la ubicación actual o de la ruta especificada, utilice el parámetro
-REcurse
(-s
). - Se pueden realizar muchas búsquedas simples utilizando varios parámetros
Get-ChildItem
con literales y/o comodines. - Las búsquedas más complicadas pueden requerir canalizar los resultados de
GetChildItem
aWhere-Object
. - Como desea la ruta completa, querrá que la
FullName
propiedad del objeto FileInfo sea devuelta porgci
.
PS C:\...\Documents>gci ventra*
Directory: C:\Users\keith\Documents
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 3/2/2016 12:02 PM 27 Ventra.txt
-a---- 4/5/2021 11:13 PM 181 Ventra.zip
PS C:\...\Documents>(gci ventra*).FullName
C:\Users\keith\Documents\Ventra.txt
C:\Users\keith\Documents\Ventra.zip
Los ejemplos que diste se verían así:
(gci pyton* -Recurse).FullName
- Ejecutado desde la raíz o una carpeta que se sabe que es un antepasado de la ubicación de
python.exe
- Si busca desde la raíz de la unidad de su sistema, lo más probable es que desee utilizar el parámetro
-ErrorAction SilentlyContinue
( ) para suprimir errores.-ea silent
Access denied
Respuesta2
La siguiente función funcionó para mí al obtener la misma funcionalidad que where
tiene cmd
:
function which ($command) {
Get-Command -Name $command -ErrorAction SilentlyContinue |
Select-Object -ExpandProperty Path -ErrorAction SilentlyContinue
}
Respuesta3
Puede utilizar la where
utilidad que utiliza CMD (por ejemplo, where.exe python
).