Powershell frente a cmd

Powershell frente a cmd

Recientemente me cambiaron de Ubuntu a Windows 10. Hay dos terminales diferentes en Windows: PowerShell y Símbolo del sistema. ¿Cuál es la principal diferencia entre ellos?

Respuesta1

CMD se remonta a los días de Dos. Tiene una estructura de comando simple y es un lenguaje de instrucciones por línea.

Usted emite comandos, obtiene comentarios y es principalmente útil para iniciar programas. Para hacer cosas más complejas, normalmente es necesario utilizar un programa que realice esta función específicamente.

cmd viene con muchos comandos, como copiar, mover, pero aún así están destinados a realizar algunas tareas básicas.

PowerShell es un lenguaje más avanzado que es una versión extendida del símbolo del sistema. Fue creado para tener una variante de Windows de lo que es bash para Linux, utilizando el marco .net. Todos los comandos son nativos de Powershell y pueden interactuar con la salida de cualquier programa para que haga aún más.

¿Cuál es la principal diferencia entre ellos?

cmd es un lenguaje muy fácil de aprender, pero lo que puede hacer es muy limitado.

Powershell es un lenguaje muy complejo que no es fácil de dominar a menos que también conozcas otros lenguajes como bash. Pero una vez que lo dominas, se abre un mundo de posibilidades. Su punto fuerte está en canalizar comandos juntos (redirigir la salida de un comando al siguiente, y redirigirla al siguiente, etc.) y poder usar la salida, editarla en algo más útil y luego mostrarla o guardarla.

Respuesta2

No hay muchos puntos en común entre lotes y powershell.

Batch existe desde hace 30 años y las únicas extensiones importantes se realizaron con el cambio de MSDOS a Windows.

Batch solo admite comandos simples y operaciones matemáticas/de cadenas muy básicas.
Es posible crear la funcionalidad más necesaria por tu cuenta yeso es divertido para mi.
Pero no lo usaría para crear scripts productivos, porque es realmente difícil crear scripts confiables, fáciles de mantener y a prueba de balas (y sé de lo que estoy hablando).

Powershell tiene un estilo de sintaxis propio y completo, incompatible con cualquier otro shell.
Está basado en objetos .NET, los comandos funcionan en objetos en lugar de texto.
Es mucho más potente que el lote, pero PowerShell es como todo lo nuevo de Microsoft.futuroherramientas, un caballo muerto.
Existirá durante unos años hasta que Microsoft lo sustituya por el próximo.futuroherramienta.

En mi humilde opinión, no vale la pena aprender la sintaxis.

Personalmente, uso git-bash o cygwin para Windows. Pero la mayor parte del tiempo trabajo con sistemas Linux para ser más productivo.

información relacionada