一个powershell仅仅是一个包含powershell代码的文本文件。如果这个文本文件执行,powershell解释器会逐行解释并执行它的的语句。powershell脚本非常像以前cmd控制台上的批处理文件。您可以通过非常简单的文本编辑工具创建powershell脚本。
通过重定向创建脚本
如果您的脚本不是很长,您甚至可以直接在控制台中要执行的语句重定向给一个脚本文件。
ps e:> '"hello,powershell script"' > myscript.ps1 ps e:> .\myscript.ps1 hello,powershell script
这样有个缺点,就是您的代码必须放在闭合的引号中。这样的书写方式一旦在脚本内部也有引号时,是一件很痛苦的事。甚至您还可能希望在脚本中换行。下面的here-strings例子不错,也就是将脚本文件通过@‘ '@闭合起来。
ps e:> @' >> get-date >> $env:commonprogramfiles >> #script end >> "files count" >> (ls).count >> #script really end >> >> '@ > myscript.ps1 >> ps e:> .myscript.ps1 2012年4月27日8:15:10 c:\program files\common files files count 20
here-string以@‘开头,以'@结束.任何文本都可以存放在里面,哪怕是一些特殊字符,空号,白空格。但是如果您不小心将单引号写成了双引号,powershell将会把里面的变量进行解析。
通过编辑器创建脚本
其实非常方便的还是最地道的文版编辑器notepad,您可以直接在powershell控制台中打开notepad
ps e:> notepad.exe .\myscript.ps1 ps e:> notepad.exe
编辑完记得保存即可。
运行powershell脚本
当您的脚本编写成功后您可能第一次会像下面的方式运行它,也就是只输入脚本的文件名,会报错。
ps e:> myscript.ps1
无法将“myscript.ps1”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括
路径,请确保路径正确,然后重试。
所在位置 行:1 字符: 13
+ myscript.ps1