Cómo contar objetos en PowerShell

28. mayo 2021 37667 puntos de vista   recuento de powershell

Hay tantas razones por las que es posible que desee contar objetos en PowerShell. Por ejemplo, es posible que desee contar los mensajes de error en un registro de eventos.





Además, es posible que desee contar la cantidad de archivos en una carpeta específica.



Lo que sea que necesite contar en PowerShell, puede morir Para contar Operador o el Medir objeto cmdlet. Esta guía le mostrará diferentes ejemplos para demostrar cómo puede contar usando ambos métodos.

La guía se divide en dos secciones. En la primera sección, aprenderá a utilizar el Para contar Operador con 8 ejemplos diferentes.



Finalmente, en la segunda sección, te enseñaré a contar con el Medir objeto Cmdlet.



Explorar temas de publicaciones

Cómo contar en PowerShell con el Para contar Operador

Como se mencionó en la introducción, en esta primera sección te enseñaré cómo contar con el Para contar Operador . La sección comienza con la sintaxis del Para contar Operador .



Luego comparto ocho ejemplos de diferentes formas en que puedes usar el para contar Para contar Operador .



Sintaxis de PowerShell Para contar Operador

La sintaxis de PowerShell Para contar Operador es:

|_+_|

Muere PowerShell Para contar Operador Se puede acceder a un objeto encerrando el objeto entre paréntesis (). Luego agregue un punto (.) seguido de la palabra, contando .

Cómo usar PowerShell Para contar Operador Recuento de registros de eventos

El primer caso de uso es mostrarle cómo se cuentan los registros de eventos.

En este ejemplo quiero contar el número de mensajes de error en el Sistema Iniciar sesión en las últimas 24 horas. Podría ejecutar un solo comando, pero para que sea más fácil de entender, lo desglosaré.

El primer paso es almacenar las últimas 24 horas en una variable usando el conseguir cita Dominio.

Aquí está el comando...

|_+_|

Escriba el comando en PowerShell y presione Entrar para ejecutarlo.

  Cómo usar el método de conteo de PowerShell para contar registros de eventos

A continuación, ejecute el Obtener registro de eventos comando, canalice la salida al donde objeto comando y filtrar por error. Almacene el resultado del comando en una variable llamada $ErrorLogCount .

|_+_|

Si desea ver una lista de mensajes de error, ejecute la variable $ErrorLogCount.

|_+_|

Estos son los comandos en PowerShell...

Tenga en cuenta que hay 5 registros de errores. Eso es fácil de contar, pero si el resultado tiene cientos de resultados, ¿cómo los cuentas?

Usar PowerShell Para contar Operador ! Aquí está el último comando que cuenta el número de registros de errores en el resultado del último comando...

|_+_|

Y como era de esperar, ¡el resultado es 5!

  Cómo usar el método de conteo de PowerShell para contar registros de eventos

Si desea ejecutar los comandos en un solo comando, aquí está el comando...

|_+_|

El resultado es el mismo…

Cómo usar PowerShell Para contar Operador para contar archivos en una carpeta

Otro uso de PowerShell Para contar El método es contar el número de archivos en una carpeta. Esta sección le muestra cómo contar archivos en una carpeta.

avast usando disco

También aprenderá a contar archivos en una carpeta y todas las subcarpetas. Finalmente, te enseñaré a usar PowerShell Para contar Método de conteo de archivos por fecha.

El primer paso para contar archivos en una carpeta es usar Obtener elemento secundario Comando para devolver los archivos en una carpeta. En este ejemplo guardo el resultado de la Obtener elemento secundario comando en una variable llamada lista de archivos .

|_+_|

En la segunda parte del comando tengo la salida del Obtener elemento secundario comando a donde objeto . Del donde objeto tiene mando! antes de $_.PSIsContainer – eso dice donde objeto para devolver todos los objetos excepto las carpetas.

avast usando demasiado espacio en disco

Aquí está el comando en PowerShell. Para ver los resultados almacenados en la variable, ejecuté la variable...

  Cómo usar el método de conteo de PowerShell para contar archivos en una carpeta

Finalmente, para contar la cantidad de archivos, incluya el resultado en el PowerShell Para contar Operador .

|_+_|

El resultado muestra que hay 37 archivos.

A continuación, ¿qué sucede si queremos contar los archivos de la carpeta y todas las subcarpetas? Esto simplemente requiere agregar el recaída parámetros para Obtener elemento secundario parte del comando.

Aquí está el comando modificado que cuenta los archivos en una carpeta y todas sus subcarpetas. Esta vez ejecuté el comando como un solo comando.

|_+_|

Aquí está el resultado con 40 archivos.

  Cómo usar el método de conteo de PowerShell para contar archivos en una carpeta

Cómo usar PowerShell Para contar Operador para contar archivos en una carpeta por fecha

En la última sección, le mostré cómo contar todos los archivos en una carpeta y subcarpetas.

En esta sección, le mostraré cómo contar la cantidad de archivos en una carpeta según la fecha.

Para comprender mejor este ejemplo, ejecute este comando de nuestro ejemplo anterior.

|_+_|

Ahora ejecuta la variable. El resultado muestra que el archivo tiene una propiedad llamada LastWriteTime .

Del LastWriteTime La propiedad indica cuándo se creó o actualizó el archivo por última vez. La implicación es que podemos incluir esta propiedad en el donde objeto Filtrar: luego devuelve solo los archivos actualizados o creados en una fecha específica.

En este ejemplo, solo quiero contar los archivos que se han actualizado o creado en las últimas 24 horas. Así que necesito un filtro de fecha.

Para generar el filtro de fecha, ejecute el siguiente comando y almacene el resultado en una variable...

|_+_|

Luego usa la variable, $Últimas 24 horas como filtro adicional en el donde objeto Página del comando anterior. Aquí está el comando actualizado.

|_+_|

El comando introduce un nuevo filtro $_.LastWriteTime -ge $Last24Hours. que compara el LastWriteTime Propiedad de cada archivo con la fecha almacenada en el $Últimas 24 horas Variable.

Entonces cada archivo con LastWriteTime mayor o igual a (ge) la fecha en la variable (últimas 24 horas), se devolverá en el resultado. Sin embargo, cada archivo con LastWriteTime fuera de este rango serán eliminados.

¡Qué asombroso!

¡El comando devolvió solo 3 archivos!

Finalmente, para contar los archivos en esta carpeta y todas sus subcarpetas que se crearon o actualizaron en las últimas 24 horas, use PowerShell Para contar Operador comando a continuación:

|_+_|

Aquí está el resultado en PowerShell...

Cómo usar PowerShell Para contar Operador para contar objetos en una matriz

Recientemente actualicé nuestro artículo sobre arreglos de PowerShell. En la última actualización del artículo, creé una matriz.

Aquí está el script que crea una matriz almacenada en una variable. lista de arreglos .

|_+_|

La matriz de PowerShell tiene un Para contar Propiedad . Puede usar esta propiedad de la forma en que la usamos en los ejemplos anteriores de este artículo.

Entonces, para contar los objetos en la matriz de PowerShell almacenados en el lista de arreglos Variable, ejecute el siguiente comando...

|_+_|

El resultado es 3, ¡lo que confirma la cantidad de objetos en nuestra matriz!

  Usar el operador de conteo de PowerShell para contar objetos en una matriz

Cómo contar en PowerShell usando el cmdlet Measure-Object

  Cómo contar en PowerShell usando el cmdlet Measure-Object

En la última sección de esta guía, vio diferentes formas de usar PowerShell Para contar Operador para contar objetos. En esta sección aprenderás a contar objetos con el Medir objeto Cmdlet.

Como vería en los ejemplos de esta sección, el Medir objeto Cmdlet proporciona más opciones para contar objetos.

Pero antes de los ejemplos, comencemos con la sintaxis del Medir objeto Cmdlet.

Sintaxis de Measure-Object-Cmdlets

Para ver la sintaxis completa del Medir objeto cmdlet, ejecute el siguiente comando:

|_+_|

El resultado del comando se convierte en el Medir objeto Cmdlet tiene dos sintaxis. Aquí están las versiones simplificadas de las sintaxis:

|_+_| |_+_|

Puede usar la primera sintaxis para devolver los valores promedio, mínimo y máximo de los objetos. Sin embargo, si desea contar la cantidad de caracteres, eliminar espacios, contar líneas o contar palabras, use la segunda sintaxis.

En las siguientes subsecciones discutiré varios ejemplos de aplicación. Medir objeto para contar objetos en PowerShell.

Uso del cmdlet Measure-Object para contar caracteres en una cadena

La mayoría de las veces, los administradores del sistema necesitan contar la cantidad total de elementos en una cadena o un objeto de PowerShell. Sin embargo, en casos excepcionales, los administradores del sistema pueden encontrar tareas automáticas de PowerShell que requieren un recuento más preciso.

Por ejemplo, es posible que necesite contar el número de caracteres de una cadena. En este ejemplo, te enseñaré cómo contar el número total de caracteres en una cadena.

Para ser claros, un carácter es un solo objeto como 1 o a.

Comencemos con un ejemplo muy simple para contar la cantidad de caracteres en esta secuencia de números

|_+_|

Obviamente hay seis caracteres, pero ¿cómo contamos los caracteres usando PowerShell? La respuesta simple es enviar el resultado al Medir objeto ordene y especifique el Personaje Parámetro.

sm-g950u desbloquear el gestor de arranque

Aquí está el comando...

|_+_|

Otra forma de ejecutar el comando es especificar la cadena 123456 con la variable InputObject en lugar de pasarla...

|_+_|

Ambos comandos producen el mismo resultado, 6!

  Cómo contar usando el cmdlet Measure-Object en PowerShell Cómo usar el cmdlet Measure-Object para contar caracteres en una cadena

Cómo contar un carácter específico en una cadena

Ahora, para un ejemplo más avanzado, ¿qué sucede si desea contar el número de un carácter específico en una cadena?

Suponga que desea contar la cantidad de veces que aparece el número 2 en esta cadena:

|_+_|

El primer paso es convertir la cadena en una matriz de caracteres Unicode. Para hacer esto, use el ToCharArray Método .

Aquí está el comando...

|_+_|

El comando divide la cadena en miembros de una matriz de PowerShell. Aquí está el resultado...

Ahora que ha convertido la cadena en una matriz, el siguiente paso es canalizarla donde objeto . luego en donde objeto Usar bloque de filtro $_ variable automática para devolver los caracteres que desea contar.

En este ejemplo, queremos contar todas las ocurrencias de 2. Este es el comando que hará el trabajo...

|_+_|

El comando solo devuelve los caracteres que queremos contar.

  Cómo contar usando el cmdlet Measure-Object en PowerShell Cómo usar el cmdlet Measure-Object para contar caracteres específicos en una cadena

Finalmente, guíe el último comando. Medir objeto .

|_+_|

El resultado final nos dice que el carácter 2 apareció tres veces en la cadena original 123456225.

Como puede ver en el último comando, el resultado contiene mucha otra información. También contiene el recuento de palabras.

¿Qué sucede si desea mostrar el recuento de caracteres sin esa otra información irrelevante?

Simplemente encierre el comando anterior entre corchetes () seguido de un punto (.). Finalmente agrega la palabra Para contar .

Para contar es la propiedad resaltada en la última captura de pantalla. Es el mismo PowerShell Para contar Propiedad hemos discutido en esta guía.

|_+_|

¡Vamos, tranquilo!

  Cómo contar usando el cmdlet Measure-Object en PowerShell Cómo usar el cmdlet Measure-Object para contar caracteres específicos en una cadena

Cómo usar PowerShell Measure-Object para contar el número de líneas en un archivo de texto

¡Los ejemplos en esta sección serán emocionantes!

En esta subsección quiero animar un poco el juego. Quiero mostrarte cómo contar el número de líneas en un archivo de texto.

Suponga que desea contar el número de líneas en el archivo de texto que se muestra en esta captura de pantalla...

El primer paso es utilizar Obtener el contenido Comando para devolver el contenido del archivo. Luego dirige la salida Medir objeto y especificar el línea Parámetro.

Aquí está el comando final...

|_+_|

Y aquí está el resultado... 4 líneas en el archivo de texto...

  Cómo usar PowerShell Measure-Object para contar el número de líneas en un archivo de texto

Alternativamente, si desea contar el número de palabras en el archivo de texto, reemplace el línea parámetros con Palabra .

|_+_|

Coincidentemente, también hay 4 palabras.

Cómo usar el cmdlet de PowerShell Measure-Object para contar filas en un archivo CSV

En el siguiente ejemplo, quiero contar el número de filas en este archivo CSV. Como puede ver, hay 15 líneas.

  Cómo usar el cmdlet de PowerShell Measure-Object para contar filas en un archivo CSV

El enfoque es similar a contar las líneas en un archivo de texto. Sin embargo, es menos complicado.

Para contar el número de filas en el archivo CSV anterior, primero use el Importar-Csv Comando para listar el contenido del archivo CSV. Luego reenvía la salida del Importar-Csv comando a Medir objeto .

Aquí está el comando final...

|_+_|

Y el resultado…

Una vez más, si solo desea mostrar el número de filas, ejecute el siguiente comando...

|_+_|

Cómo usar el cmdlet de PowerShell Measure-Object para contar las apariciones de cadenas en un archivo

¡Este es otro ejemplo emocionante de PowerShell Count! En esta sección quiero contar el número de ocurrencias de la palabra Bytes en el archivo de texto en esta captura de pantalla...

Como mostré en un ejemplo anterior, el primer paso es usar el Obtener el contenido Comando para listar el contenido del archivo de texto.

|_+_|

Luego reenvía el resultado a donde objeto y filtrar por el nombre de las palabras que quiero contar...

|_+_|

Finalmente, canalice el resultado del último comando a Medir objeto .

|_+_|

Para mostrar solo el resultado, cambie el comando como se muestra a continuación.

|_+_|

El resultado es 3.

¡Ahí está, nuestro artículo actualizado sobre el conteo de PowerShell! Espero que lo haya encontrado util.

cómo purgar el chat de discordia

Si te ha resultado útil este artículo, por favor vota y a la pregunta ¿Fue útil esta publicación a continuación?

Alternativamente, puede hacer una pregunta, dejar un comentario o proporcionar más comentarios utilizando el formulario 'Dejar una respuesta' en la parte inferior de esta página.

Finalmente, puede encontrar más zonas de PowerShell Tech S en nuestra página de procedimientos de Windows PowerShell. También puede encontrar muy útil nuestra página Trabajar desde casa.

Referencias y lecturas adicionales

  1. Medir objeto
  2. Acerca de los métodos
  3. Los 18 comandos de Powershell más útiles para administradores de Windows
  4. Cómo extraer una subcadena de powershell de una cadena