一個Powershell僅僅是一個包含Powershell代碼的文本文件。如果這個文本文件執行,Powershell解釋器會逐行解釋并執行它的的語句。Powershell腳本非常像以前CMD控制臺上的批處理文件。您可以通過非常簡單的文本編輯工具創建Powershell腳本。
通過重定向創建腳本
如果您的腳本不是很長,您甚至可以直接在控制臺中要執行的語句重定向給一個腳本文件。
PS E:> '"Hello,Powershell Script"' > MyScript.ps1PS E:> ./MyScript.ps1Hello,Powershell Script
這樣有個缺點,就是您的代碼必須放在閉合的引號中。這樣的書寫方式一旦在腳本內部也有引號時,是一件很痛苦的事。甚至您還可能希望在腳本中換行。下面的Here-strings例子不錯,也就是將腳本文件通過@‘ '@閉合起來。
PS E:> @'>> Get-Date>> $Env:CommonProgramFiles>> #Script End>> "files count">> (ls).Count>> #Script Really End>>>> '@ > myscript.ps1>>PS E:> .MyScript.ps12012年4月27日 8:15:10C:/Program Files/Common Filesfiles count20
Here-String以 @‘開頭,以'@結束.任何文本都可以存放在里面,哪怕是一些特殊字符,空號,白空格。但是如果您不小心將單引號寫成了雙引號,Powershell將會把里面的變量進行解析。
通過編輯器創建腳本
其實非常方便的還是最地道的文版編輯器Notepad,您可以直接在Powershell控制臺中打開Notepad
PS E:> notepad.exe ./MyScript.ps1PS E:> notepad.exe
編輯完記得保存即可。
運行Powershell腳本
當您的腳本編寫成功后您可能第一次會像下面的方式運行它,也就是只輸入腳本的文件名,會報錯。
PS E:> MyScript.ps1
無法將“MyScript.ps1”項識別為 cmdlet、函數、腳本文件或可運行程序的名稱。請檢查名稱的拼寫,如果包括
路徑,請確保路徑正確,然后重試。
所在位置 行:1 字符: 13
+ MyScript.ps1 < <<<
+ CategoryInfo : ObjectNotFound: (MyScript.ps1:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Suggestion [3,General]: 未找到命令 MyScript.ps1,但它確實存在于當前位置。Windows PowerShell 默認情況
下不從當前位置加載命令。如果信任此命令,請改為鍵入 ".MyScript.ps1"。有關更多詳細信息,請參閱 "get-h
elp about_Command_Precedence"。
除非您使用相對路徑,或者絕對路徑
PS E:> ./MyScript.ps12012年4月27日 8:33:03C:/Program Files/Common Filesfiles count20PS E:> E:MyScript.ps12012年4月27日 8:33:11C:/Program Files/Common Filesfiles count20
執行策略限制
Powershell一般初始化情況下都會禁止腳本執行。腳本能否執行取決于Powershell的執行策略。
新聞熱點
疑難解答