从零开始——PowerShell应用入门(全例子入门讲解)
学习一门技术,不止要会,还要善用,例子就是带你快速入门的最佳利器。本文就是要用例子,不,大量的例子来带你走进PowerShell应用世界。
本文主要介绍一些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(不同系统可能路径不一样)。启动后效果如下:

b) 开始菜单 -> 运行(run) -> 输入”PowerShell”。启动成功后和上图一样。
c) 命令提示符(Command Prompt) -> PowerShell。启动后效果如下:

启动成功后就可以在里面输入要执行的命令了,这就是PowerShell的交互界面。
2. 如何运行程序、脚本和已有的软件
如果以前经常使用一些别的工具进行开发,可能会有一些可执行文件、Perl脚本、批处理文件等,如果不想放弃这些,可以使用PowerShell直接运行它们。
a) 在系统路径下运行程序、脚本、批处理文件或者其它可执行文件,可以直接输入文件名运行。比如我把一个Test.cmd文件放在了”C:\Windows\System32”下, 就可以如下方式运行它:

b) 如果文件名字或路径中有空格,需要用(')引号将命令扩起来,同时在前面加上符号(&),这种叫做调用操作:

c) 要运行当前目录下的命令,需要文件名前加.\,如:

d) 要运行当前目录下的命令,而且命令名字或路径带有空格,需要同时加上符号(&)和('):

3. 运行PowerShell命令
除了支持传统的Windows可执行文件,PowerShell还推出了一个功能强大的新的命令叫做cmdlet。所有的cmdlet命令规则都遵循动词-名词这种语法结构,如Get-Command、Get-Content等,如下Get-Command命令意思是获取包含Process的所有命令集合:

其中输入”Get-Command -Name *Process”的时候,不用输入完整的命令名,PowerShell会帮助你使用Tab键来自动完成命令输入,包括命令的名称和参数的名称,如这样输入即可:Get-Comm<Tab> -N<Tab> *Process。
4. 如何查找指定命令以及命令详情
a) 若要在PowerShell中执行一条任务,但苦于不知道用什么命令的时候,这时就要查找一个命令,可以使用Get-Command命令,并且它支持通配符。例子如下:

b) 若要查看一个命令的作用,可以使用Get-Help命令。例子如下,还可以指定参数-Detailed、-Full、-Examples。

c) 由于PowerShell可以使用.NET Framework中的对象,因此要想查看一个对象的属性和方法,可以使用Get-Member命令。例子如下:

5. 如何在外部调用PowerShell脚本
有时候可能需要从批处理文件、定时任务或者其它非PowerShell程序调用PowerShell脚本,语法:PowerShell “& ‘full path of the script’ arguments”。如下例子是从CMD调用PowerShell。

6. 如何获知最后执行命令的状态
PowerShell提供了两个变量可以检测最后执行的命令是否成功:$lastExitCode和$?。
$lastExitCode:数字型变量,返回最后脚本或应用程序执行返回的退出码或出错级别:

$?:布尔型变量,返回最后执行命令的成功还是失败:

变量$?使用更通用的方式来描述最后的应用程序退出的状态,在以下应用程序发生错误的时候,PowerShell会设置$?为False:
- 应用程序退出码非零;
- cmdlet或脚本输出错误信息;
- cmdlet或脚本捕获到终止错误或异常。
当命令执行没有错误的时候,PowerShell设置$?变量为True。
7. 如何计算命令执行时间
如果想计算一个命令执行时间,可以使用Measure-Command命令,如下:

8. 了解命令的别名
PowerShell一些内置命令都有别名,方便记忆和输入,可以用Get-Help命令查看别名,如下Get-Children的命令有三个别名:gci、ls和dir,输入任意一个都可以列举当前目录。

9. 如何操作使用管理控制台历史命令
在PowerShell窗口中,按上下箭头键可以寻找历史命令进行调用,也可以运行Get-History命令查找,用Invoke-History Id方式进行调用:


10. 如何重定向输出
如果想把得到的结果输出到文件中,可以使用Out-File命令或者重定向操作符将命令输出的结果保存在文件中:

11. 如何记录PowerShell会话全文
如果想生成当前会话的记录,可以运行Start-Transcript命令,它基于当前系统时间。如果想停止,运行Stop-Transcript:

12. 如何显示对象属性为列表或表格
使用Format-List和Format-Table命令,直接看例子:


Note:
- 本文介绍的所有命令都可以用Get-Help获取详细信息,了解详情后才能够更好的使用(学习使用PowerShell过程中Get-Help/Get-Command/Get-Member是最常用的三大命令,要学会善用)。
- Windows PowerShell的基本使用方法完全不限于上述例子,学会这些,只是帮助入门,可以更好的继续向下学习。
- 未来会有继续细致的更新,敬请期待。
[原创文章,转载请注明出处,仅供学习研究之用,如有错误请留言,如觉得不错请推荐,谢谢支持]
[原文:http://www.cnblogs.com/lavender000/p/6935589.html,来自永远薰薰]
从零开始——PowerShell应用入门(全例子入门讲解)的更多相关文章
- 网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用MAC地址?
1.前言 标题虽然是为了解释有了 IP 地址,为什么还要用 MAC 地址,但是本文的重点在于理解为什么要有 IP 这样的东西.本文对读者的定位是知道 MAC 地址是什么,IP 地址是什么. (本文同步 ...
- RabbitMQ由浅入深入门全总结(一)
写在最前面 距离上一次发文章已经很久了,其实这段时间一直也没有停笔,只不过在忙着找工作还有学校结课的事情,重新弄了一下博客,后面也会陆陆续续会把文章最近更新出来~ 这篇文章有点长,就分了两篇Q PS: ...
- Java Web快速入门——全十讲
Java Web快速入门——全十讲 这是一次培训的讲义,就是我在给学生讲的过程中记录下来的,非常完整,原来发表在Blog上,我感觉这里的学生可能更需要. 内容比较长,你可以先收藏起来,慢慢看. 第一讲 ...
- linux systemd 从简单的例子入门
linux systemd 从简单的例子入门 网上很多相关链接,一上来就给一大堆命令和讲解,让人头都大. 我们希望有一个service(服务),让它在开机启动的时候就执行. 用 root 登陆以后: ...
- [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...
- .Net Core微服务入门全纪录(六)——EventBus-事件总线
前言 上一篇[.Net Core微服务入门全纪录(五)--Ocelot-API网关(下)]中已经完成了Ocelot + Consul的搭建,这一篇简单说一下EventBus. EventBus-事件总 ...
- Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子
Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子 第一个例子都是比较简单的博客园登录界面,就像学习编程语言时候都是从Hello,World!开始. 1 ...
- ES6中Promise的入门(结合例子)
一.Promise的前言 解决回调地狱 //以往回调方式 函数1(function(){ //代码执行...(ajax1) 函数2(function(){ //代码执行...(ajax2) 函数3(f ...
- 一个简单的springmvc例子 入门(1)
一直是从事棋牌游戏,平常用的东西 大多数只是使用一些javase的一些 api对spring 这方面 用到的比较少,每次学了都忘,始终记不住.为了 更轻松学习springboot,从新学习了sprin ...
随机推荐
- 自动生成数学题型三 (框架Struts2)题型如 a+b=c(a、b、c都为分数)
1. 约分分数 1.1 保留质数 /** * 将数值放入到fraction数组中 * @param fen 简要放的 int类型数值 */ public void fenshu(int fen) { ...
- yii2 advance安装
转载自:http://www.genshuixue.com/i-cxy/p/7986531 1. 前提条件,php版本得> 5.4D:\phpStudy>php -v PHP 5.5.17 ...
- NOIP2014D2T2寻找道路
洛谷传送门 这道题可以把边都反着存一遍,从终点开始深搜,然后把到不了的点 和它们所指向的点都去掉. 最后在剩余的点里跑一遍spfa就可以了. --代码 #include <cstdio> ...
- 时间同步方法及几个可用的NTP服务器地址
大家都知道计算机电脑的时间是由一块电池供电保持的,而且准确度比较差经常出现走时不准的时候.通过互联网络上发布的一些公用网络时间服务器NTP server,就可以实现自动.定期的同步本机标准时间. 依靠 ...
- Vuex(二)——关于store
一.总览 Vuex 应用的核心就是 store(仓库). "store" 包含着应用中大部分的状态(state). 二.Vuex 和单纯全局对象的不同 Vuex 的状态存储是响应式 ...
- Python实现二叉树的四种遍历
对于一个没学过数据结构这门课程的编程菜鸟来说,自己能理解数据结构中的相关概念,但是自己动手通过Python,C++来实现它们却总感觉有些吃力.递归,指针,类这些知识点感觉自己应用的不够灵活,这是自己以 ...
- Python 基础 一
Python 基础 一 一.关于Python的介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum),这一两年在国内很流行,应用很广泛. 二.Python的基础知识(1) 1 ...
- 阿里云CentOS7.2服务器的安装
第一步:下载服务器系统ISO安装文件 我使用的是阿里云的镜像:因为阿里云的服务在国内相对比较成熟 服务器镜像下载如下:http://mirrors.aliyun.com/centos/7/isos/x ...
- 优化UI控件 【译】
翻译自:https://unity3d.com/cn/learn/tutorials/topics/best-practices/optimizing-ui-controls?playlist=300 ...
- 单源最短路Dijkstra算法——matlab实现
迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径. 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止. 基本思想 通过Dijk ...