从零开始——PowerShell应用入门(全例子入门讲解)
2017-06-03 02:43
597 查看
学习一门技术,不止要会,还要善用,例子就是带你快速入门的最佳利器。本文就是要用例子,不,大量的例子来带你走进PowerShell应用世界。
本文主要介绍一些PowerShell入门的基础知识,对技术小白来说可以快速入门,对技术老鸟来说可以复习巩固,废话不多说,直接进入正题。
PowerShell,相信大家早已耳熟能详,在上篇文章中给大家介绍了PowerShell发展历程,关于PowerShell的更多介绍,大家也可以参考这里:https://msdn.microsoft.com/powershell/scripting/getting-started/fundamental/using-windows-powershell。
a) 直接开始菜单 -> 所有程序 -> Windows PowerShell -> Windows PowerShell(不同系统可能路径不一样)。启动后效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/945454f1009a0441601cc8219ac59eb7.png)
b) 开始菜单 -> 运行(run) -> 输入”PowerShell”。启动成功后和上图一样。
c) 命令提示符(Command Prompt) -> PowerShell。启动后效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/49d65cd704bae6822c2463b692b0ae75.png)
启动成功后就可以在里面输入要执行的命令了,这就是PowerShell的交互界面。
a) 在系统路径下运行程序、脚本、批处理文件或者其它可执行文件,可以直接输入文件名运行。比如我把一个Test.cmd文件放在了”C:\Windows\System32”下, 就可以如下方式运行它:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/e8108c2bdf095a373cdfb3f71085b8ec.png)
b) 如果文件名字或路径中有空格,需要用(')引号将命令扩起来,同时在前面加上符号(&),这种叫做调用操作:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/32e978250500f3a6d66312b9bbc23730.png)
c) 要运行当前目录下的命令,需要文件名前加.\,如:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/6eb28b4941b8c12384b8a875238121d6.png)
d) 要运行当前目录下的命令,而且命令名字或路径带有空格,需要同时加上符号(&)和('):
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/489cd1f457718c94a4b8cc4449afbe1c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/623b3679b6684598db072e71b1a6818a.png)
其中输入”Get-Command -Name *Process”的时候,不用输入完整的命令名,PowerShell会帮助你使用Tab键来自动完成命令输入,包括命令的名称和参数的名称,如这样输入即可:Get-Comm<Tab> -N<Tab> *Process。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/c0e310eaec65f3f0096887f923dc8b73.png)
b) 若要查看一个命令的作用,可以使用Get-Help命令。例子如下,还可以指定参数-Detailed、-Full、-Examples。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/3d443490b156078297bf80eaff8d1bcd.png)
c) 由于PowerShell可以使用.NET Framework中的对象,因此要想查看一个对象的属性和方法,可以使用Get-Member命令。例子如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/da5fd3cd100ae4864a1ceecb3d27a197.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/1dcc91199275e77b2b36c4a9ab495df6.png)
$lastExitCode:数字型变量,返回最后脚本或应用程序执行返回的退出码或出错级别:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/908d65a807063276c1e0cd93375c6098.png)
$?:布尔型变量,返回最后执行命令的成功还是失败:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/0e39516912da391d00bbd80ed6c72570.png)
变量$?使用更通用的方式来描述最后的应用程序退出的状态,在以下应用程序发生错误的时候,PowerShell会设置$?为False:
应用程序退出码非零;
cmdlet或脚本输出错误信息;
cmdlet或脚本捕获到终止错误或异常。
当命令执行没有错误的时候,PowerShell设置$?变量为True。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/ca7c403687c81404ac9ecb74ab38304c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/08a3928d1df2f0bd5fcab9de6252a1c1.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/5256f26741e5acfb75a46c2a4bb8b84d.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/c472a3bfe06ce5594f641ad553b7b97c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/69f0b0283b2e9e2fb0605313435fc787.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/9866917ed19598463f27aa670e29e54a.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/d376c695d3901ac9f1255b0bd1b90e68.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/b1c43d9bace38556f639caa458555b34.png)
Note:
本文介绍的所有命令都可以用Get-Help获取详细信息,了解详情后才能够更好的使用(学习使用PowerShell过程中Get-Help/Get-Command/Get-Member是最常用的三大命令,要学会善用)。
Windows PowerShell的基本使用方法完全不限于上述例子,学会这些,只是帮助入门,可以更好的继续向下学习。
未来会有继续细致的更新,敬请期待。
[原创文章,转载请注明出处,仅供学习研究之用,如有错误请留言,如觉得不错请推荐,谢谢支持]
[原文:http://www.cnblogs.com/lavender000/p/6935589.html,来自永远薰薰]
本文主要介绍一些PowerShell入门的基础知识,对技术小白来说可以快速入门,对技术老鸟来说可以复习巩固,废话不多说,直接进入正题。
PowerShell,相信大家早已耳熟能详,在上篇文章中给大家介绍了PowerShell发展历程,关于PowerShell的更多介绍,大家也可以参考这里:https://msdn.microsoft.com/powershell/scripting/getting-started/fundamental/using-windows-powershell。
1. 如何启动PowerShell
现在的Windows系统中一般都集成了PowerShell,启动方法有如下几种:a) 直接开始菜单 -> 所有程序 -> Windows PowerShell -> Windows PowerShell(不同系统可能路径不一样)。启动后效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/945454f1009a0441601cc8219ac59eb7.png)
b) 开始菜单 -> 运行(run) -> 输入”PowerShell”。启动成功后和上图一样。
c) 命令提示符(Command Prompt) -> PowerShell。启动后效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/49d65cd704bae6822c2463b692b0ae75.png)
启动成功后就可以在里面输入要执行的命令了,这就是PowerShell的交互界面。
2. 如何运行程序、脚本和已有的软件
如果以前经常使用一些别的工具进行开发,可能会有一些可执行文件、Perl脚本、批处理文件等,如果不想放弃这些,可以使用PowerShell直接运行它们。a) 在系统路径下运行程序、脚本、批处理文件或者其它可执行文件,可以直接输入文件名运行。比如我把一个Test.cmd文件放在了”C:\Windows\System32”下, 就可以如下方式运行它:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/e8108c2bdf095a373cdfb3f71085b8ec.png)
b) 如果文件名字或路径中有空格,需要用(')引号将命令扩起来,同时在前面加上符号(&),这种叫做调用操作:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/32e978250500f3a6d66312b9bbc23730.png)
c) 要运行当前目录下的命令,需要文件名前加.\,如:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/6eb28b4941b8c12384b8a875238121d6.png)
d) 要运行当前目录下的命令,而且命令名字或路径带有空格,需要同时加上符号(&)和('):
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/489cd1f457718c94a4b8cc4449afbe1c.png)
3. 运行PowerShell命令
除了支持传统的Windows可执行文件,PowerShell还推出了一个功能强大的新的命令叫做cmdlet。所有的cmdlet命令规则都遵循动词-名词这种语法结构,如Get-Command、Get-Content等,如下Get-Command命令意思是获取包含Process的所有命令集合:![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/623b3679b6684598db072e71b1a6818a.png)
其中输入”Get-Command -Name *Process”的时候,不用输入完整的命令名,PowerShell会帮助你使用Tab键来自动完成命令输入,包括命令的名称和参数的名称,如这样输入即可:Get-Comm<Tab> -N<Tab> *Process。
4. 如何查找指定命令以及命令详情
a) 若要在PowerShell中执行一条任务,但苦于不知道用什么命令的时候,这时就要查找一个命令,可以使用Get-Command命令,并且它支持通配符。例子如下:![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/c0e310eaec65f3f0096887f923dc8b73.png)
b) 若要查看一个命令的作用,可以使用Get-Help命令。例子如下,还可以指定参数-Detailed、-Full、-Examples。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/3d443490b156078297bf80eaff8d1bcd.png)
c) 由于PowerShell可以使用.NET Framework中的对象,因此要想查看一个对象的属性和方法,可以使用Get-Member命令。例子如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/da5fd3cd100ae4864a1ceecb3d27a197.png)
5. 如何在外部调用PowerShell脚本
有时候可能需要从批处理文件、定时任务或者其它非PowerShell程序调用PowerShell脚本,语法:PowerShell “& ‘full path of the script’ arguments”。如下例子是从CMD调用PowerShell。![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/1dcc91199275e77b2b36c4a9ab495df6.png)
6. 如何获知最后执行命令的状态
PowerShell提供了两个变量可以检测最后执行的命令是否成功:$lastExitCode和$?。$lastExitCode:数字型变量,返回最后脚本或应用程序执行返回的退出码或出错级别:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/908d65a807063276c1e0cd93375c6098.png)
$?:布尔型变量,返回最后执行命令的成功还是失败:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/0e39516912da391d00bbd80ed6c72570.png)
变量$?使用更通用的方式来描述最后的应用程序退出的状态,在以下应用程序发生错误的时候,PowerShell会设置$?为False:
应用程序退出码非零;
cmdlet或脚本输出错误信息;
cmdlet或脚本捕获到终止错误或异常。
当命令执行没有错误的时候,PowerShell设置$?变量为True。
7. 如何计算命令执行时间
如果想计算一个命令执行时间,可以使用Measure-Command命令,如下:![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/ca7c403687c81404ac9ecb74ab38304c.png)
8. 了解命令的别名
PowerShell一些内置命令都有别名,方便记忆和输入,可以用Get-Help命令查看别名,如下Get-Children的命令有三个别名:gci、ls和dir,输入任意一个都可以列举当前目录。![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/08a3928d1df2f0bd5fcab9de6252a1c1.png)
9. 如何操作使用管理控制台历史命令
在PowerShell窗口中,按上下箭头键可以寻找历史命令进行调用,也可以运行Get-History命令查找,用Invoke-History Id方式进行调用:![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/5256f26741e5acfb75a46c2a4bb8b84d.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/c472a3bfe06ce5594f641ad553b7b97c.png)
10. 如何重定向输出
如果想把得到的结果输出到文件中,可以使用Out-File命令或者重定向操作符将命令输出的结果保存在文件中:![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/69f0b0283b2e9e2fb0605313435fc787.png)
11. 如何记录PowerShell会话全文
如果想生成当前会话的记录,可以运行Start-Transcript命令,它基于当前系统时间。如果想停止,运行Stop-Transcript:![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/9866917ed19598463f27aa670e29e54a.png)
12. 如何显示对象属性为列表或表格
使用Format-List和Format-Table命令,直接看例子:![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/d376c695d3901ac9f1255b0bd1b90e68.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/17/b1c43d9bace38556f639caa458555b34.png)
Note:
本文介绍的所有命令都可以用Get-Help获取详细信息,了解详情后才能够更好的使用(学习使用PowerShell过程中Get-Help/Get-Command/Get-Member是最常用的三大命令,要学会善用)。
Windows PowerShell的基本使用方法完全不限于上述例子,学会这些,只是帮助入门,可以更好的继续向下学习。
未来会有继续细致的更新,敬请期待。
[原创文章,转载请注明出处,仅供学习研究之用,如有错误请留言,如觉得不错请推荐,谢谢支持]
[原文:http://www.cnblogs.com/lavender000/p/6935589.html,来自永远薰薰]
相关文章推荐
- Flash新手入门教程:实例讲解引导层的应用
- DirectDraw6的初级编程应用 —— 配合实例讲解,让你迅速入门
- PowerShell管道入门,看看你都会不(管道例子大全)
- HttpClient4.1入门教程-利用官方例子讲解httpClient4.1的用法
- C#回调函数的简单讲解与应用例子(最简单讲解,大神绕道)
- 几个实用的Servlet应用例子-入门、cookie、session及上传文件
- Quarz入门讲解(不错的例子)
- [ZigBee] 15、Zigbee协议栈应用(一)——Zigbee协议栈介绍及简单例子(长文,OSAL及Zigbee入门知识)
- Neo4j 1快速入门(简单例子讲解)
- 从零开始,讲解详细,贴近实际应用,全面掌握用友ERP财务管理
- 以公司实际应用讲解OpenStack到底是什么(入门篇)
- OpenStack系列讲座2:以公司实际应用讲解OpenStack到底是什么(入门篇)
- Powershell快速入门(三) 实战应用
- RAD 极速应用开发 Spring ROO 入门例子
- 从零开始,讲解详细,贴近实际应用,全面掌握用友ERP财务管理
- V4L2采集图像入门例子讲解
- shell 入门例子讲解
- GBDT 入门教程之原理、所解决的问题、应用场景讲解
- 【JavaWeb Structs2学习】 Struts2 入门小例子以及action路径讲解
- PowerShell管道入门必看篇(管道例子大全)