Ayuda de powershell para operaciones dentro de Batch

Iniciado por rafaeljoseyepez, 21 Junio 2020, 20:46 PM

0 Miembros y 1 Visitante están viendo este tema.

rafaeljoseyepez

Saludos muchachos!!

Quería preguntarle, ya que batch está muy limitado en cuanto a las operaciones matemáticas, que número de muchos dígitos es imposible de multiplicar, pero tenemos la opción de powershell que podemos insertar dentro del mismo batch, quería ver sus ejemplos de como hacerlo, por ejemplo...

Set /A VariableFinal= 4896410320 * 15030

¿Cómo harían para con ayuda de powershell establecer el resultado de esa variable?
Me refiero dentro del mismo batch, se me ocurre la idea de hacer la operación dentro del mismo powershell, imprimir el resultado en un archivo de texto, y que batch establezca la variable desde el archivo de texto, no sé si alguien tiene una mejor idea y puede dar los ejemplos por acá

EdePC

Saludos,

- Batch está limitado a operar números enteros desde -2,147,483,648 hasta 2,147,483,647 de hecho ya es un número bastante grande, sin embargo siempre se puede usar VBScript o PowerShell para operar números realmente grandes.

- Solo recordar que esta limitación es para las operaciones matemáticas entre variables, pero si que se puede guardar números enormes en una variable común.

- Realizar una invocación simple de PowerShell es hoy en día la manera más simple de realizar esa tarea, basta con hacer:

Código (dos) [Seleccionar]
PowerShell 4896410320 * 15030

-- Claro que se puede redireccionar la salida hacia otro comando o archivo, un ejemplo de cada uno:

Código (dos) [Seleccionar]
PowerShell 4896410320 * 15030 | Clip
PowerShell 4896410320 * 15030 > resultado.txt


-- Si has elegido utilizar un archivo, pues lo lees así:

Código (dos) [Seleccionar]
PowerShell 4896410320 * 15030 > resultado.txt
Set /P rpta=<resultado.txt
Echo %rpta%


-- Si eliges redirigir la salida de un comando a una variable, siempre se puede utilizar For /F así:

Código (dos) [Seleccionar]
For /F %%a In ('PowerShell 4896410320 * 15030') Do Set producto=%%a
Echo %producto%