注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Code@Pig Home

喜欢背着一袋Code傻笑的Pig .. 忧美.欢笑.记忆.忘却 .之. 角落

 
 
 

日志

 
 

[PowerShell] Hey, ScriptBoy in Win32  

2013-01-10 08:32:05|  分类: win32 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://www.microsoft.com/powershellhttp://en.wikipedia.org/wiki/Windows_PowerShell

用过unix shell的人,就会发现win32的cmd.exe弱爆了,而VBScript真心难用。当对上百台机器同时执行一些命令时,win32那种GUI式的操作方式,就是噩梦。不过M$也意识到了这个问题,弄出了个强大的PowerShell。而且从Win7/2008R2开始,PowerShell就是系统的标配了。

之前我一直在win32下用Native Win32 ports of some GNU utilities,基本满足要求,但一些命令有时候还是会失败,比如:xargs会有fork问题。嗯,从今开始,还是认真学习下PowerShell,嘿嘿。

不玩不知道,原来PowerShell真的很强大。打算读读《Learn Windows PowerShell in a Month of Lunches》,并每日总结一下。

先来看看PowerShell长啥样,win8下可以 image + Q,查找应用,输入 power shell 即可。

image

看一些常用命令:

image

很神奇,cmd.exe中的dir, mkdir, type等、shell中的ls, cat等(如上图,没有touch命令),都可以直接用。但你会发现 dir /s 是无效的,因为 dir 只是一个别名(alias),PowerShell中并不真实存在这一指令。PowerShell的指令,称为cmdlet,常用的有:

  • Get-ChildItem (dir, ls)
  • Set-Location (cd)
  • Move-Item (move)
  • Rename-Item (ren)
  • Remove-Item (del, rm, rmdir)
  • Copy-Item (copy, cp)
  • Get-Content (type, cat)
  • New-Item (mkdir)

对于 dir /s 其实要 Get-ChildItem –recursive,或者 dir –r (-recursive可以简写为-r)

image

cmdlet的命名规则,是"动词-名词",动词如Get、Set、New、Move等等;名词如ChildItem、Item、Content等等。所以要记住命令的名字,可按此规律即可,如:

  • Get-Service,display a list of services
  • Get-Process,display a list of running processes
  • Get-EventLog,display the contents of an event log
  • New-Service,create a new service

PowerShell 不仅如 cmd.exe 一样,可访问文件系统,其实还能访问任何 PSDrive (PowerShell Drive),比如:注册表、SQL Server等等。只要提供了 PowerShell Drive Provider 接口的东东,都能访问。

image

来看看 PowerShell 如何访问注册表:

image

Get-PSDrive 用来显示所有可用之 PSDrive,然后如同访问文件系统一样,访问注册表啦。

注意,我们不能直接用"HKCU:"这样的操作来跳转,必须"cd HKCU:"。但对于文件系统,指令"d:"是允许的,与 cmd.exe 的行为保持一致。

PSDrive 可以任意挂载,类似 unix 的 mount 行为。

image

帅呆了,huh?

ps. Live Writer 写播客很方便,微笑

  评论这张
 
阅读(970)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017