一直关注Windows10开发进度的朋友一定知道,微软将在Windows10CreatorsUpdate中直接将命令提示符(CMD)替换为PowerShell。长期以来一直建议您放弃CDM并直接使用PowerShell。目前,微软已经开始将PowerShell部署到Linux系统中,并且在自家产品中,尤其是企业级产品中,PowerShell已经成为首要的管理界面(图形界面次之),进而直接提升了PowerShell的地位在Windows中,CDM逐渐淡出历史舞台也是必然的。虽然要成为PowerShell专家需要掌握大量的基础知识和大量的实践,但它几乎可以实现Windows和其他微软主流产品的所有管理功能(包括很多图形界面无法实现的功能)。虽然PowerShell对于新手用户来说可能会感到陌生甚至望而生畏,但本文介绍的15个PowerShell高级任务应该可以帮助Windows用户了解它的基本用法,为大家打开一扇新的学习大门。打开PowerShell环境Windows10内置了PowerShell命令行环境,可以直接搜索“PowerShell”以管理员身份运行。或者在搜索栏中输入PowerShell,搜索后使用Ctrl+Shift+Enter打开。设置Windows系统时间日期的方法有很多种,但是使用PowerShell应该说是最快的方法,就像下面的命令:Set-Date-date"2016-12-018:30AM”AM和PM不用解释。调整日期和时间在某些特殊情况下,我们可能需要调整日期和时间,而不是直接指定具体值。为了完成这个任务,我们仍然使用Set-Datecmdlet,但是用法与之前不同,例如:Set-Date(Get-Date).AddDays(2)从上面的命令可以看出,我们首先得到通过Get-Date获取当前日期,然后触发Set-Date将日期加2。当然,这个命令也可以使用AddHours、AddMinutes或AddSeconds对时间添加小时、分钟、秒等。验证文件和文件夹PowerShell命令是检查计算机上是否存在文件或文件夹的简便方法,使用Test-Pathcmdlet并按照路径完成验证,而无需花时间在资源管理器中查找它。例如:验证C盘中是否有名为PowerShell.xlsx的Excel文件,可以使用如下命令:Test-Pathc:\PowerShell.xlsx该命令返回一个布尔值,如True或False,如果没有知道确切的文件你也可以直接使用通配符,例如:Test-Pathc:\*.xlsx重命名文件和文件夹一旦你知道文件名文件夹的确切路径,PowerShell也可以很容易地重命名文件和文件夹,只需参考以下示例使用Rename-Itemcmdlet:Rename-Itemc:\PowerShell.xlsxNew_PowerShell.xlsxMovingfilesandfolders使用PowerShell移动文件或文件夹也非常容易,只需使用Move-Itemcmdlet,例如:Move-Itemc:\PowerShell.xlsxd:\PowerShell.xlsx可以与通配符结合使用,将特定类型的文件从一个文件夹快速移动到另一个文件夹:Move-Itemc:\*.xlsd:\excel\OpenProgramInvoke-Itemcmdlet应用程序可以直接在PowerShell提示符下打开:Invoke-Itemc:\Windows\System32\notepad.exe但是已经在WindowsPath路径下的应用程序可以直接用这个名字执行,例如:notepad使用默认程序打开文件Invoke-Itemcmdlet除了执行应用程序外,还可以使用直接打开文件。但是大家要注意,当你用它打开一个文件时,只会用该文件类型关联的默认应用程序打开。Invoke-Itemc:\Sysgeek\Hello.txt批量打开文件当Invoke-Itemcmdlet与通配符结合使用时,可以批量打开某些类型的文件:Invoke-Itemc:\Sysgeek\*.txt读取文本文件PowerShell是可以直接处理文本文件的内容,例如使用Get-Content命令读取文本文件的内容:Get-Contentc:\Sysgeek\Hello.txt如果只想预览文件而不是读取整个文本,可以使用-totalcount参数:Get-Contentc:\Sysgeek\Hello.txt-totalcount1添加文本内容除了读取文本文件内容外,还可以使用PowerShell中的Add-Contentcmdlet直接添加内容:添加-Contentc:\Sysgeek\Hello.txt"by海猴"当然,这个命令只是在文件中追加文本***,不一定能满足你的需求。统计文本文件无论是统计普通文件还是统计自己一天写了多少行代码,都可以使用如下命令:Get-Contentc:\Sysgeek\Hello.txt|Measure-Object服务状态统计当你需要的时候算上Windows的服务和状态,之前你可能会手动一一查看。其实可以使用PowerShell的Get-Servicecmdlet立即遍历当前系统上的所有服务和状态:Get-Service也是按照服务状态统计的,也很方便。例如,统计所有当前停止的服务,可以使用如下命令:Get-Service|Where-Object{$_.status-eq"stopped"}来重启服务。一旦确定是某个服务出现问题,可以直接从PowerShell重启:Restart-ServiceDnscache如果不知道具体的服务名称,也可以通过参数指定服务的显示名称:Restart-Service-displayname"DNSClient"改变服务启动状态在PowerShell中改变服务的启动状态也很简单,只需要使用Set-Service的-startuptype参数即可:Set-ServiceDnscache-startuptype"manual"这个参数也可以换成automatic(自动启动)和禁用(禁用)。强制刷新Windows10应用程序如果您的Windows10应用程序卡在启动界面或无法初始化,您可以使用以下PowerShell命令强制刷新应用程序:Get-AppXPackage-AllUsers|Foreach{Add-AppxPackage-DisableDevelopmentMode-Register"$($_.InstallLocation)\AppXManifest.xml"}此外,PowerShell还可以用于卸载Windows10内置应用程序。小结系统极客们在之前的文章中介绍过PowerShell和CMD的区别。本文介绍PowerShellCmdlet的最基本用法。也算是给大家学习PowerShell的一个入门。
