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

Eva*_*man 15 powershell confirm

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

"确认:你确定要执行这个动作......"

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

这是我的电话:

New-Item $rollbackDirectory -type Directory -Force
Run Code Online (Sandbox Code Playgroud)

无论有没有-Force参数,它都会做同样的事情

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

New-Item -name $rollbackName -itemtype directory -path $rollbackdrive -Debug -Force
Run Code Online (Sandbox Code Playgroud)

man*_*lds 18

-confirm只需要在cmdlet提示您确认时指定.cmdlet本身是否会提示确认取决于cmdlet的开发人员,该cmdlet可以根据cmdlet的效果为cmdlet设置高,中,低.根据$ConfirmPreference您的值,您将自动获得cmdlet的确认.默认值为$ConfirmPreference高,设置的级别为New-Item中.因此,如果New-Item提示确认,则该$ConfirmPreference值必须已更改为中或低.

它使用更改$ConfirmPreference="high",甚至$ConfirmPreference="none"做出New-Item不及时,或者你的解决方案-confirm:$false作品,以及通过重写$ConfirmPreference.

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

希望这清除它.


Eva*_*man 11

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

New-Item $rollbackDirectory -type Directory -Force -Confirm:$false
Run Code Online (Sandbox Code Playgroud)

它奏效了!希望这能帮助其他人解决同样的问题

  • `-Confirm:$ false`是在cmdlet级别执行此操作的完全有效的方法。另外,请参阅我的答案。 (2认同)