为什么我会使用Powershell而不是C#?

Dra*_*aco 17 c# powershell

我知道Powershell非常强大,因为它是一种脚本语言,你可以访问整个.Net框架(这就是我所知道的).但是当我可以使用C#来编写完全相同的东西时,我很难理解Powershell的大肆宣传是什么?

Tre*_*reb 16

我想你问的是错误的问题.它应该是:"当我可以使用Powershell编写同样的东西时,我为什么要使用C#?"

这是脚本与重新编译的软件的旧论点.脚本解决方案更灵活(您只需要记事本来编辑脚本,不需要编译器).

对于一个小任务,脚本编写,部署和更改比在Visual Studio中创建项目,编译它,将其部署到目标,更正代码,再次编译,再次部署它更快...

对于任何更大的任务,我绝对更喜欢编译我的代码的IDE.仅在破坏的构建上的错误消息对于找到原因是非常有帮助的.(在编译软件中,运行时效率通常更好,但是对于现代CPU,它可以达到几毫秒的差异,因此对于大多数项目来说,它不再重要.)

可以在C#或Powershell中执行任何类型的项目.这并不意味着你应该这样做.


Joe*_*oey 8

当不使用Powershell作为shell而是使用编程环境时,您可以将Powershell视为一种交互式.NET游乐场.我从不使用Powershell进行GUI原型设计,但我过去曾使用过它来使用.NET对象及其解决特定问题的方法.只需更改命令行比每次进行更改时执行编辑/保存/编译/运行循环更有效率.

此外,任何一种语言的适当领域都非常不同.Powershell的核心是一个管理和自动化工具,简化了对许多事物的访问,这些事情可能更难以从另一个环境中使用,例如Registry,证书存储,WMI等.

您可能不希望使用Powershell编写企业级数据库应用程序,并且您可能不希望编写C#程序只是为了复制文件系统中的一些东西.