系统之家
您现在的位置是:系统之家 > win7之家 > win7特性 > 内容 RSS

Windows 7新的命令行PowerShell揭秘

时间:2011-03-11 出处:系统之家 复制分享 人气(次) 【

  导语:对于电脑高手来说,华丽的图形界面往往并不实用,快捷的键盘命令才是王道。Win7集成的PowerShell2.0,更是其中的王中王,让你直接掌控你的电脑命脉。

  Win7中集成了PowerShell2.0,如今任何GUI执行的管理任务(例如控制系统,访问注册表、系统日志和数字签名证书等数据)都能通过PowerShell脚本来完成了,如果你的系统是WinXP/Vista/2003/2008,只需到http: //support.microsoft.com/kb/968929下载安装PowerShell2.0,即可使用这个新一代的命令行工具!

  一、PowerShell是何方神圣?

  PowerShell是CMD的升级版,类似C++语言,提供了200多条命令、还有循环、条件、流控制和变量赋值等语言结构,可以让你创建各种复杂的脚本去完成任务。它支持完全交互式环境,可在提示符下逐条键入命令执行,例如输入命令get-process回车,系统返回该命令结果,也可以将多条命令写在同一个脚本文件中连续执行,脚本文件的文件扩展名为 .ps1,在命令提示符下键入该脚本名称(文件扩展名可选)即可自动连续执行脚本中的所有命令;命令执行的结果能输出到外壳程序窗口、文件或打印机中,还能使用管道运算符 (|) 输出到其他命令中。

  二、启动PowerShell

  在Win7中点击“开始→所有程序”,在“附件”中有个Windows PowerShell,点击展开Windows PowerShell,里面有Windows PowerShell ISE和Windows PowerShell这两个选项(图1),后者是CMD那样的命令行模式界面,前者是图形化的PowerShell开发环境、包含了调试功能和交互式控制台,适合PowerShell编程的用户使用。

  除了以上方法能启动PowerShell,在传统的CMD窗口中输入PowerShell回车也能启动PowerShell,与CMD不同,PowerShell的提示符是PS开头的(图2);

  如要启动PowerShell ISE,可以点击“开始→所有程序→附件→Windows PowerShell→Windows PowerShell ISE”,这是一个集成的脚本环境(图3),里面有3个窗格,在顶部窗格中你可以练习编程创建或编辑脚本,中间是运行结果,最下方窗格中能输入运行 PowerShell命令。

  三、PowerShell支持哪些命令?

  启动PowerShell后,在窗口中输入get-command回车会显示PowerShell的所有命令,按照命令的类型、名称和描述一行一个命令列出清单(图4),有Alias、Cmdlet、Function三种命令类型,其中cmdlet命令有129条,这是用于操作对象的单功能命令,其书写格式是由-分隔的动词和名词,例如Get-Process、Start-Service等,大多数 cmdlet都非常简单,它们设计为与其他 cmdlet 组合使用,例如Get-Process仅显示当前系统内的进程,输入Get-Process|findstr “svchost”(图5),就会将Get-Process命令的结果传递到 Findstr 命令,用管道运算符 (|) 将其左侧命令的结果发送到其右侧的命令,这样只会列出含有“svchost”的进程。如要查看某命令的详细用法可使用get-help命令,例如输入 get-help get-process回车即可显示该命令的名称、摘要、语法、详细说明、相关链接及备注。

  PowerShell能管理系统服务、操作注册表、进行众多的网络相关操作,可以方便地查看和结束系统内的进程,例如输入get- process就会列出系统中进程的句柄、进程名、进程占用处器时间和进程ID,如要结束某个或多个进程,只需先用get-process查看该进程的 ID,然后输入Stop-process,再根据提示输入一个或多个进程的ID,按下回车后这些进程即可被结束。

  PowerShell还允许用别名来启动某命令和系统内建的工具,例如你输入命令set-alias gp get-process,可将gp设置为get-process的别名,以后输入gp即可启动get-process了,再如你输入命令set- alias ca calc将ca设置为计算器calc的别名,以后输入ca即可启动计算器。

  四、语法与范例

  下面给出一些PowerShell命令范例:

  功能

  格式和备注

  范例

  数学运算

  输入要计算的表达式,结果就会出来的

  PS C:\> 105+20

  PS C:\> (2+3*4)/512

  输出文本

  PowerShell不需要打印语句,在要输出的文本前后加上引号即可

  PS C:\> "hello"

  大小写转换

  将字串转为英文大写字母"HELLO"

  PS C:\> "hello".ToUpper()

  插入字串

  在字串的第1个字符后插入字串

  PS C:\> "hello".Insert(1, "my")

  输出结果存储到临时文件

  计算结果保存到lbb.txt文件中

  PS C:\>(1-2)*3/4 > c:\lbb.txt

  列出文件中的内容

  用type命令将文件的结果取回

  PS C:\>type c:\lbb.txt

  运算结果存储到变量中

  运算结果存储到变量x中,以后可调用这个变量x

  PS C:\> $x=(3-1)*2

  变量运算

  变量x中数据与3进行运算

  PS C:\> $x/3

  数组

  将当前目录下的目录项对象集合保存到dirs数组中

  PS C:\> $dirs=dir

  数组访问

  PowerShell数组下标是从0开始的,这是返回dirs中保存的第一个目录项对象

  PS C:\> $dirs[0]

  访问注册表

  PowerShell中,HKEY_LOCAL_MACHINE 配置单元映射到 HKLM: 驱动器,而 HKEY_CURRENT_USER 配置单元映射到 HKCU: 驱动器

  PS C:\> cd hklm:

  PS HKLM:\> dir

  访问证书存储区

  证书存储区映射到 Cert: 驱动器

  PS C:\> cd cert:

  PS cert:\> dir

  等待calc程序执行结束

  PS C:\> $processToWatch = get-process calc

  PS C:\> $processToWatch.WaitForExit()

  管道运算符 (|)应用

  停止运行所有以"i"字符开头的程序

  PS C:\> get-process i* | stop-process

  计算当前目录下所有文件的长度总和

  PS C:\>get-childitem | measure-object -property length -sum

相关资讯
最新资讯
热门内容
微软透露Windows 8系统搜索功能组成