PowerShell - 响应命令响应

时间:2014-08-06 18:30:32

标签: powershell command-line scripting automation

我正在尝试编写一个简单的脚本,它将在Windows中执行一个控制台命令,它总是要求确认覆盖现有数据。我认为类似下面的东西会起作用,但看起来我错了(并不奇怪,写主机不与命令行交互,我相信它只是将文本放在屏幕上)。谁能提供一些关于如何处理这个问题的建议?我需要能够每周通过任务调度程序执行脚本而不进行交互。

脚本:

Start-Process -NoNewWindow -FilePath pw -ArgumentList @"
    threshold checkpoint create "WeeklyBackup" "WeeklyBackup"
"@
sleep -Seconds 3
$confirm = Select-String -pattern "About to over-write existing CheckPoint 'WeeklyBackup'." -Quiet

if ($confirm)
{
   Write-Host "Y`r" 
}

我希望在控制台中看到的内容:

D:\BMC_Software\ProactiveNet>pw threshold checkpoint create "WeeklyBackup" "Week
lyBackup"
About to over-write existing CheckPoint 'WeeklyBackup'. Do you want to proceed?
(y/n)

然后用户将按Y并回车并完成该过程。但我希望这是自动化的。

提前感谢任何建议。

1 个答案:

答案 0 :(得分:3)

echo "Y`r" | pw

这通常用于批处理文件,但它通常也可以在PowerShell中使用。