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.batPor 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 -Parameter2En 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.
