分享
 
 
 

windows powershell

王朝百科·作者佚名  2010-04-16
窄屏简体版  字體: |||超大  

概述

1. 微软Windows操作系统最初的设计目标是面向非技术用户, 甚至是对计算机不感兴趣的人群, 因此, 真正自动化, 强大的Shell一直不是微软公司所关心的问题. 随着Windows开拓市场, 用户的反馈等, 微软意识到, 通过图形化工具管理一台计算机或许是最完美的手段, 但是随着需要管理的计算机数量提升, 就必须依靠能够有效自动化计算机配置的工具, 这是开发PowerShell的一个重要原因.

2. 为什么不使用已有的shell或扩展cmd.exe呢? 我们熟知的bash, ksh是为unix, linux系统设计的, 优化的shell, 从这些操作系统内核提供的system call来看, shell将内核的特性真正表现出来. 但是, Windows操作系统和unix, linux是完全不同的, Windows将大部分管理通过面向对象的方式进行管理, 提供了诸如COM, WMI等概念. 传统的shell输出信息都是字符串, 这样有利于统一的处理, 但是字符串也是你唯一能够操作的对象. PowerShell开发队伍为了能够为Windows提供更好的优化, 因此选择了重新创建一门新的语言.

3. PowerShell最初的蓝本是Posix的shell标准, 并借鉴了大量的Perl语言中精华, 提供了一个基于对象的脚本环境. PowerShell v1(版本1.0)希望使用者与对象交互, 但没有真正提供面向对象创建的语法(但是, 借助PowerShell的机制, 可以自己实现这套语法). 并且大量特性与C#语言相同, 因此C#到PowerShell的转换是非常容易的.

4. PowerShell有一些核心的特性, 这些特性是比较复杂的, 他们的存在是为了让传统shell用户能够尽量获得相似的用户体验. 对于普通用户, 你不需要理解, 掌握这些复杂的特性, 但是对于想深入理解, 掌握PowerShell的朋友, 这些特性对你将会产生巨大的帮助.

综上所述, 如果你用bash, perl, .Net, WMI, COM, VBscript的相关知识, 那么学习PowerShell的过程就会更短. 但是对于掌握bash, ksh的用户, 最困难的步骤是对问题的处理方式, 思维方式转变. 因为PowerShell中不仅仅有字符串, 因此, 尝试使用更加丰富的手段去处理问题, 往往阻挠大家的前进, 不过只要你有信心, 那么你一定能克服这些不是困难的困难. 祝大家在学习PowerShell的过程中, 能够举一反三, 从软件工程等多种角度, 更好的理解计算机科学.

语法及解释下面, 简单的贴出简单的语法及解释.

PS C:> 5 + 100

105

在PowerShell中, 进行数学运算相当的简单, 将需要计算的表达式输入, 结果就会输出, 这里根本不需要什么打印语句, 执行的结果不会被丢弃掉, 而是将结果输出(以后, 我们会看到如何将结果丢弃).

PS C:> "hello world!"

hello world!

学习任何语言, 第一个代码总会是hello world, 和上面的数学计算一样, 直接输入即可.

PS C:> (5 + 23 * 2) / 23

2.21739130434783

对于, 四则混合运算, PowerShell也支持的很好, 能够使用()来修改运算符的优先级和结合性. 这里注意, PowerShell支持几种不同的数据类型, 如: int, float, double等. 大多数时候, 我们会在后面对类型转换等做一些介绍.

PS C:> (2+2)*3/7 > c:foo.txt

PS C:> type c:foo.txt

1.71428571428571

除了将运算结果输出到显示器, 我们可以将结果存储到临时文件, 然后用type命令将文件的结果取回. 怎么样? 是不是和shell很相似呢?

PS C:> $n = (2+2)*3

PS C:> $n

12

PS C:> $n / 7

1.71428571428571

除了将运算结果存储到文件, 我们可以通过变量赋值, 将运算结果存储到变量中, 并使用该变量进行后续的计算.

PS C:> $files = dir

PS C:> $files[3]

Directory: Microsoft.PowerShell.CoreFileSystem::C:

Mode LastWriteTime Length Name

---- ------------- ------ ----

d-r-- 2007-7-26 21:25 Program Files

PowerShell是一个支持对象的语言, 我们可以简单的将命令返回的结果赋值给变量, $files中包含了但前目录下的目录项的对象集合, 使用普通数组访问语法, 就可以获得该该位置的对象. 例子中显示了Program Files目录. 注意PowerShell中的数组下标是从0开始的. 这点与.Net Common Language Runtime完全一致.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有