一、问题来源
在学习DOS命令的时候学到一条命令dir /p,其作用是分页展示当前目录下的目录文件。而当我在命令行窗口敲下这个指令的时候,却无法显示本该出现的效果,反而出现了如下的报错:

一番查询下得知,我目前打开的并非传统的命令行(CMD)窗口,而是PowerShell窗口。
二、Powershell和CMD的区别
1、问题解决:对于初学者来说,最直观的区别就是PowerShell 和 CMD 的语法有所不同,尤其是在处理参数时。在 PowerShell 中,dir /p 会报错,因为 /p 被解释为路径而不是参数。倘若想在Powershell中实现类似的相应的在传统CMD中的dir /p效果,可以使用①dir | more和②dir | Out-Host -Paging指令。
2、本质区别:PowerShell是CMD的进化版本,PowerShell在CMD的基础上还增加了①.NET 库的调用②编译器。其实还有其他的,这里就不一一赘述了,感兴趣的可以看看这个博主总结的这一篇:https://www.cnblogs.com/young233/p/16549319.html。一般来说面试问的时候答出我提到的那两点就行,多了不会。.NET库提供了大量的类、接口、方法和工具,用于开发各种类型的应用程序。无论是桌面应用、Web 应用、移动应用还是云服务,.NET 库都提供了强大的支持。简而言之就是在PowerShell窗口可以编译程序。
三、PowerShell和CMD的相互转换
1、直接在窗口敲下powershell和cmd即可实现二者的相互转换:

路径前面带有PS标志即证明当前使用的是PowerShell。
2、还可以按以下步骤将终端改成PowerShell默认或者CMD默认:


若有错误,欢迎指正!希望对你有帮助!
浙公网安备 33010602011771号