【问题标题】:Windows PowerShell is in NonInteractive mode. Read and Prompt functionality is not availableWindows PowerShell 处于非交互模式。阅读和提示功能不可用
【发布时间】:2020-05-22 10:45:05
【问题描述】:

我是 power shell 脚本的新手。我正在尝试删除除一个文件夹和一个文件之外的所有文件。我使用 jenkins 运行此脚本,它显示名为“Windows PowerShell 处于非交互模式。读取和提示功能不可用”的错误。我正在尝试在 powershell 窗口中运行此脚本,但它询问 Confirmation [Y/N]。我需要使用 jenkins 运行此脚本,请帮助我。

$Path = "C:\TeamCity\buildAgent2\work"
$exclude = @("*.old", "*directory.map") 
Get-ChildItem $Path -Exclude $exclude | Remove-Item  -Force -Confirm:$false -ErrorAction Stop| echo Y 

【问题讨论】:

  • 我试试这个脚本它仍然要求确认 [Y / A / N]。

标签: powershell jenkins


【解决方案1】:

需要在remove命令中添加Recurse参数。

像这样:

Remove-Item -Recurse -Force

【讨论】:

  • 如果我使用 Remove-Item -Recurse -Force 它会显示这种类型的错误“找不到路径的一部分”
  • @VenkateshReddi 这是一个不相关的问题。由于这个答案解决了问题中描述的原始问题,我建议你accept它,并提出一个问题来解决另一个问题。
【解决方案2】:

guiwhatsthat 是正确的,你的代码应该是这样的;

$Path = "C:\TeamCity\buildAgent2\work"
$exclude = @("*.old", "*directory.map") 
Get-ChildItem $Path -Exclude $exclude | Remove-Item -Recurse -Force -Confirm:$false -ErrorAction Stop

【讨论】:

  • 我尝试这个命令它显示这种类型的错误“找不到路径的一部分”
猜你喜欢
  • 1970-01-01
  • 2019-08-31
  • 2023-04-05
  • 1970-01-01
  • 2018-05-25
  • 1970-01-01
  • 2023-03-28
  • 2016-05-09
  • 1970-01-01
相关资源
最近更新 更多