[英]call powershell function with parameters
我剛剛開始使用Windows Powershell,我嘗試創建一個解析網頁的函數。 我已經測試了函數中的各個調用,它們似乎正常工作。 這是我創建的功能。
function GoTo-Website ([string]website = "google.com")
{
$ie.navigate($website);
$image = @($ie.Document.getElementByName("main_image"))[0].href;
$title = @($ie.Document.getElementByTagName("h1"))[3].innerHTML;
$date = @($ie.Document.getElementByTagName("h3"))[0].innerHTML;
}
它存儲在當前powershell目錄中的powershellScript.ps1中。
我調用此函數時可以得到的最佳錯誤是
功能goto-website“網站”
函數聲明中缺少函數體。 在行:1 char:23 + function goto-website <<<<“website”+ CategoryInfo:ParserError:(:) [],+ FullyQualifiedErrorId:MissingFunctionBody
反正有沒有修改我的代碼來傳遞這個解析器錯誤?
我也想知道他們是否是一種在呼叫前不調用“功能”來調用函數的方法?
試試這個修改過的代碼版本
function GoTo-Website
{
Param ($website)
$ie.navigate($website);
$image = @($ie.Document.getElementByName("main_image"))[0].href;
$title = @($ie.Document.getElementByTagName("h1"))[3].innerHTML;
$date = @($ie.Document.getElementByTagName("h3"))[0].innerHTML;
}
你可以打電話給
GoTo-Website "http://www.google.com"
要么
GoTo-Website -website "http://www.google.com/"
無需在通話前輸入“功能”。
有關功能的更多信息,請參閱Scripting Guy博客上的今日帖子 。
在遵循如何添加參數[並意識到我必須將我的函數復制並粘貼到powershell]的建議后,我能夠調用我的函數。 這是該功能的修改版本
function GoTo-Website
{ Param ($website)
$global:ie.navigate($website);
$global:image = @($ie.Document.getElementById("comic_image"))[0].href;
$global:title = @($ie.Document.getElementsByTagName("h1"))[3].innerHTML
$global:date = @($ie.Document.getElementsByTagName("h3"))[0].innerHTML;
}
我還必須將我的參數更改為全局以公開結果並訪問已激活的Internet Explorer變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.