Powershell New-Item:如何自动接受确认

时间:2011-08-04 23:44:19

标签: powershell confirm

我正在尝试使用powershell脚本在网络驱动器上创建一个新目录,但它一直在提示我

  

“确认:您确定要执行此操作....”

有没有办法覆盖它,所以它不会问我,因为我从Web界面运行这个脚本。

这是我的电话:

New-Item $rollbackDirectory -type Directory -Force

无论有没有-Force参数

,它都会做同样的事情

我也尝试过这种格式没有运气

New-Item -name $rollbackName -itemtype directory -path $rollbackdrive -Debug -Force

2 个答案:

答案 0 :(得分:17)

仅当您希望cmdlet提示您进行确认时,才需要指定

-confirm。 cmdlet本身是否会提示确认取决于cmdlet的开发人员,该cmdlet可以根据cmdlet的效果为cmdlet设置高,中,低。根据{{​​1}}的值,您将自动获得cmdlet的确认。 $ConfirmPreference的默认值很高,$ConfirmPreference的级别设置为中等。因此,如果New-Item提示确认,则New-Item值必须已更改为中等或低。

使用$ConfirmPreference甚至$ConfirmPreference="high"进行更改,以使$ConfirmPreference="none"无法提示,或者New-Item的解决方案也可以覆盖-confirm:$false

在这里完美解释:http://blogs.msdn.com/b/powershell/archive/2006/12/15/confirmpreference.aspx

希望这可以解决它。

答案 1 :(得分:10)

我最终尝试了这个(即使我在另一篇SO帖子上看到它不正确):

New-Item $rollbackDirectory -type Directory -Force -Confirm:$false

它有效!希望这可以帮助其他人解决同样的问题