学习一门技术,不止要会,还要善用,例子就是带你快速入门的最佳利器。本文就是要用例子,不,大量的例子来带你走进PowerShell应用世界。html
本文主要介绍一些PowerShell入门的基础知识,对技术小白来讲能够快速入门,对技术老鸟来讲能够复习巩固,废话很少说,直接进入正题。shell
PowerShell,相信你们早已耳熟能详,在上篇文章中给你们介绍了PowerShell发展历程,关于PowerShell的更多介绍,你们也能够参考这里:https://msdn.microsoft.com/powershell/scripting/getting-started/fundamental/using-windows-powershell。windows
如今的Windows系统中通常都集成了PowerShell,启动方法有以下几种:工具
a) 直接开始菜单 -> 全部程序 -> Windows PowerShell -> Windows PowerShell(不一样系统可能路径不同)。启动后效果以下:学习
b) 开始菜单 -> 运行(run) -> 输入”PowerShell”。启动成功后和上图同样。3d
c) 命令提示符(Command Prompt) -> PowerShell。启动后效果以下:orm
启动成功后就能够在里面输入要执行的命令了,这就是PowerShell的交互界面。htm
若是之前常用一些别的工具进行开发,可能会有一些可执行文件、Perl脚本、批处理文件等,若是不想放弃这些,可使用PowerShell直接运行它们。对象
a) 在系统路径下运行程序、脚本、批处理文件或者其它可执行文件,能够直接输入文件名运行。好比我把一个Test.cmd文件放在了”C:\Windows\System32”下, 就能够以下方式运行它:blog
b) 若是文件名字或路径中有空格,须要用(')引号将命令扩起来,同时在前面加上符号(&),这种叫作调用操做:
c) 要运行当前目录下的命令,须要文件名前加.\,如:
d) 要运行当前目录下的命令,并且命令名字或路径带有空格,须要同时加上符号(&)和('):
除了支持传统的Windows可执行文件,PowerShell还推出了一个功能强大的新的命令叫作cmdlet。全部的cmdlet命令规则都遵循动词-名词这种语法结构,如Get-Command、Get-Content等,以下Get-Command命令意思是获取包含Process的全部命令集合:
其中输入”Get-Command -Name *Process”的时候,不用输入完整的命令名,PowerShell会帮助你使用Tab键来自动完成命令输入,包括命令的名称和参数的名称,如这样输入便可:Get-Comm<Tab> -N<Tab> *Process。
a) 若要在PowerShell中执行一条任务,但苦于不知道用什么命令的时候,这时就要查找一个命令,可使用Get-Command命令,而且它支持通配符。例子以下:
b) 若要查看一个命令的做用,可使用Get-Help命令。例子以下,还能够指定参数-Detailed、-Full、-Examples。
c) 因为PowerShell可使用.NET Framework中的对象,所以要想查看一个对象的属性和方法,可使用Get-Member命令。例子以下:
有时候可能须要从批处理文件、定时任务或者其它非PowerShell程序调用PowerShell脚本,语法:PowerShell “& ‘full path of the script’ arguments”。以下例子是从CMD调用PowerShell。
PowerShell提供了两个变量能够检测最后执行的命令是否成功:$lastExitCode和$?。
$lastExitCode:数字型变量,返回最后脚本或应用程序执行返回的退出码或出错级别:
$?:布尔型变量,返回最后执行命令的成功仍是失败:
变量$?使用更通用的方式来描述最后的应用程序退出的状态,在如下应用程序发生错误的时候,PowerShell会设置$?为False:
当命令执行没有错误的时候,PowerShell设置$?变量为True。
若是想计算一个命令执行时间,可使用Measure-Command命令,以下:
PowerShell一些内置命令都有别名,方便记忆和输入,能够用Get-Help命令查看别名,以下Get-Children的命令有三个别名:gci、ls和dir,输入任意一个均可以列举当前目录。
在PowerShell窗口中,按上下箭头键能够寻找历史命令进行调用,也能够运行Get-History命令查找,用Invoke-History Id方式进行调用:
若是想把获得的结果输出到文件中,可使用Out-File命令或者重定向操做符将命令输出的结果保存在文件中:
若是想生成当前会话的记录,能够运行Start-Transcript命令,它基于当前系统时间。若是想中止,运行Stop-Transcript:
使用Format-List和Format-Table命令,直接看例子:
Note:
[原创文章,转载请注明出处,仅供学习研究之用,若有错误请留言,如以为不错请推荐,谢谢支持]
[原文:http://www.cnblogs.com/lavender000/p/6935589.html,来自永远薰薰]