CMD和win powershell有啥区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMD和win powershell有啥区别相关的知识,希望对你有一定的参考价值。

在windows上cmd和powershell都是命令行执行窗口,Powershell 从 Windows7 时代开始内置于 Windows 系统当中,可以看作是微软对 cmd 的大升级,目前两者并存于 Windows 系统中。
1、powershell功能更加强大可以说分分钟钟秒杀linux的bash,更别说饱受诟病的 cmd;
2、powershell 背后依靠的是一套完整的 .NET 编程体系,其脚本更容易编写且稳健性大大提升。反过来看 cmd,那些完全由各种命令堆砌而成的一条条指令简直就是“小打小闹”;
3、因为 powershell 可以看作 cmd 的超集,所有的常用命令诸如dir, cd, ipconfig等在 powershell 中都能直接使用。但背后的实现方式是完全不同的,powershell 基于完全的面向对象,它通过给函数和对象“起别名”的方式来支持这些旧的命令;
4、powershell支持复杂的管道操作:管道操作的灵感来自 Linux 的 shell,但由于 powershell 将一切都包装成为对象,而不是直接处理字符串,因此其管道操作的灵活程度远在 Linux 的 shell 之上;
5、任何函数与对象都能够通过help *命令来查看其帮助文档(准确来说应该是Get-Help函数,这是更加“面向对象”化的命名方式,而help是它的别名),如果看不明白,加上-examples参数会有应用实例,如果仍看不明白,加上-online参数会打开完整的在线帮助文档;
6、powershell 原生支持将结果导出到html, csv, xml等文件,也可以通过重定向从文件中读取内容。
7、powershell 脚本的语法与高级编程语言非常相近,例如其分支语句if(...) else、循环语句for(...)与 C 语言别无二致,因而大大提高了编程体验。
8、powershell支持 Debug:虽然这个功能很少用到,但支持 debug 是走向完备编程语言不可或缺的一项功能。
参考技术A cmd是和powershell都可以做命令行交互,批处理和powershell脚本功能也相当。
我不知道你怎么理解cmd,但下面是powershell是基于.net的,只要你足够了解.net,你可以使用她做任何你想做的事情。
Windows PowerShell 是专为系统管理员设计的新 Windows 命令行 shell。Windows PowerShell 包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。
与接受和返回文本的大多数 shell 不同,Windows PowerShell 是在 .NET Framework 公共语言运行时 (CLR) 和 .NET Framework 的基础上构建的,它接受和返回 .NET Framework 对象。环境中的这一根本更改带来了管理和配置 Windows 的全新工具和方法。
Windows PowerShell 引入了 cmdlet(读作“command-let”)的概念,这是内置到 shell 中的一个简单的单一功能命令行工具。可以分别使用每个 cmdlet,但是组合使用这些简单的工具执行复杂任务时才发挥其作用。Windows PowerShell 包括一百多个基本的核心 cmdlet,您可以编写自己的 cmdlet 并与其他用户共享它们。
与许多 shell 一样,Windows PowerShell 为您提供了对计算机上文件系统的访问。此外,使用 Windows PowerShell 提供程序还可以访问其他数据存储,如注册表和数字签名证书存储,就像访问文件系统一样容易。本回答被提问者采纳
参考技术B Powershell比较晚 模仿cmd
cmd比较早 模仿dos
——
ps(powershell)功能比较杂
cmd 功能比较基本
——
ps是比较新的 不是每台电脑都有 相容性不高
cmd每个windows都有(没有丢失档案的windows系统) 相容性较高
——
ps使用较不方便
cmd较为方便

以上是关于CMD和win powershell有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

windows的cmd里面的对文件的del和erase有啥区别?

Win10 Shift+右键菜单打开Cmd窗口

win10的powershell打不开,怎么重装

命令提示符和DOS和CMD有啥区别?

powershell和cmd区别

Win10 cmd/PowerShell SSH无法创建目录 和 SCP 找不到文件