我正在使用PowerShell运行执行wget
的脚本来获取网页(简单数据库导入脚本)并分析其输出(错误消息或“确定”) 。Powershell脚本:无法读取执行的程序的返回值
我正在使用我的代码this previous question。
$a = c:\path_to_wget\wget.exe --quiet -O - "http://www.example.com/import_db"
$rc = $a.CompareTo("OK")
exit $rc
当wget的操作的结果是404 - 和wget可能会返回一个错误级别1或127 - 我收到以下错误消息从PowerShell中:
You cannot call a method on a null-valued expression.
这显然是指我的呼唤功能CompareTo()
功能。
但是,wget得到执行并输出一些东西。
我怀疑wget输出到错误控制台在这种情况下,这不会被我的$ a操作捕获。
如何重定向错误输出以便它被脚本抓住?
男孩,我确定这个月会在PowerShell标签中问个问题! :)
短的问题放在一边:如果你是无论如何使用PowerShell,为什么还要用'wget'? '$ wc = New-Object Net.WebClient; $ rc =($ wc.DownloadString(“http://www.example.com/import_db”))。CompareTo(“OK”)' – Joey 2010-01-11 19:37:34
我查看了WebClient文档中提供给我最后一个问题的提示,并避开了复杂性,希望有一个善良的灵魂能够给我一个例子来开始。非常感谢,我可以合作! :) – 2010-01-11 19:50:17