Búsqueda de sitios web

Ejecutar archivo por lotes de PowerShell


Un archivo por lotes (bat) es un método muy popular para automatizar tareas en entornos Windows. Sin embargo, PowerShell también se utiliza para automatizar tareas; es posible que necesite ejecutar archivos por lotes en PowerShell.

El operador de llamada (&) y el cmdlet Start-Process se pueden utilizar para ejecutar archivos por lotes en PowerShell.

En este artículo, analizaremos cómo utilizar varios métodos en PowerShell, incluido el operador de llamada y el cmdlet de inicio del proceso, para ejecutar archivos bat en PowerShell.

Cómo ejecutar un archivo bat desde PowerShell usando el operador de llamada

El operador de llamada (&) es uno de los métodos para ejecutar un archivo por lotes en PowerShell. La sintaxis para utilizar el operador de llamada para llamar a un archivo bat es:

& "Path\to\batchFile.bat"

Por ejemplo, para ejecutar un archivo bat llamado “Install-DBService.bat” ubicado en el directorio “D:\PS\”, use el siguiente script:

& "D:\Ps\Install-DBService.bat"

El resultado del script anterior después de ejecutar un archivo por lotes en PowerShell ejecuta un archivo bat:

PowerShell para ejecutar un archivo por lotes con el cmdlet Start-Process

Para ejecutar un archivo por lotes en PowerShell, utilice el cmdlet Start-Process. La sintaxis para utilizar el proceso de inicio es:

Start-Process -FilePath "Path\to\batchFile.bat

Por ejemplo, para ejecutar un archivo por lotes llamado “Install-DBService.bat” ubicado en el directorio “D:\PS\”, use el siguiente script:

Start-Process -FilePath "D:\Ps\Install-DBService.bat"

La salida del script anterior después de ejecutar un archivo por lotes en el script de PowerShell, llama a un archivo bat y lo ejecuta.

Ejecutar un archivo por lotes con argumentos

Si un archivo por lotes requiere argumentos, puede pasar argumentos utilizando tanto el operador de llamada (&) como el cmdlet Start-Process.

Usando el operador de llamadas:

& "Path\to\batchFile.bat" -Parameter1 -Parameter2

En el script de PowerShell anterior, el operador de llamada ejecuta un archivo por lotes con argumentos.

Usando el cmdlet Start-Process:

Start-Process -FilePath "\path\to\batchFile.bat" -ArgumentList "-Parameter1 -Parameter2"

En el script de PowerShell anterior, el cmdlet Start-Process usa el parámetro -FilePath para especificar la ruta de ubicación del archivo por lotes y el parámetro -ArgumentList para especificar los argumentos.

Conclusión

Espero que el artículo anterior sobre cómo ejecutar un archivo por lotes en PowerShell utilizando el operador de llamada y el cmdlet Start-Process le resulte útil.

Para un mejor manejo de errores, si es posible, intente convertir archivos por lotes a scripts de PowerShell.

Puede encontrar más temas sobre los comandos de PowerShell Active Directory y los conceptos básicos de PowerShell en la página de inicio de ShellGeek.

Artículos relacionados