【问题标题】:Remove-Item : Cannot find path '\\footfs32\Builds\TestBuildTest\foo_3.3.17009.3.zip ' because it does not exist删除项目:找不到路径“\\footfs32\Builds\TestBuildTest\foo_3.3.17009.3.zip”,因为它不存在
【发布时间】:2017-01-11 06:07:50
【问题描述】:

我正在尝试删除特定网络路径位置(我的一个构建的 tfs 构建放置文件夹)中的所有文件和文件夹。

在我的构建后脚本中,我尝试了以下几行:(结果相同)

$Destination = '\\footfs32\Builds\TestBuildTest'
Get-ChildItem -Path $Destination -Recurse | Remove-Item -force -recurse

Remove-Item \\footfs32\Builds\TestBuildTest -Force -Recurse

Remove-Item "\\footfs32\Builds\TestBuildTest\*" -Force -Recurse 

Remove-Item -LiteralPath "\\footfs32\Builds\TestBuildTest\*" -Force -Recurse 

正在删除所有包含的文件夹,但是当它尝试删除目录中的文件时,会弹出以下错误:

删除项目:找不到路径 '\abctfs32\Builds\TestBuildTest\foo_3.3.17009.3.zip ' 因为它确实 不存在。'

为什么这个错误只出现在文件上,而所有文件夹都被正确删除了?这对我来说没有任何意义。我该如何解决?

【问题讨论】:

  • 可能你没有权限删除这个文件
  • 不幸的是,所有文件夹和文件都是由同一用户(构建服务器服务帐户)在以前的构建期间创建的。
  • 在构建和 ps 脚本之后,您能在物理构建放置文件夹中看到这些文件吗?
  • 您是如何创建包含空格的 zip 文件的?

标签: powershell


【解决方案1】:

根据错误信息。很可能该文件已在您的构建过程中被删除。

在您的构建过程中触发了一些事件,并且该文件已被删除。运行 powershell 脚本时,找不到这些文件。 Remove-item 命令不能两次删除一个文件。

请仔细检查您的构建定义、构建过程和放置文件夹。

【讨论】:

  • 没有被删除。导航到目录时我仍然可以看到它。此外,它是一个单一的声明。我怀疑它会在目录删除和文件删除之间被删除。当我的构建过程在执行该语句之前删除这些文件时,为什么 Remove-Item 会首先找到这些文件。
  • 你的意思是只有“.zip”的文件不能删除。或者不能删除文件夹以外的所有文件。还可以尝试手动删除这些文件,以确保您是否拥有适当的权限并且这些文件没有被任何其他进程锁定。
【解决方案2】:

请尝试以下命令:

Remove-Item -Path "\\footfs32\Builds\TestBuildTest\*.*" -Force -Recurse

【讨论】:

  • 您还可以使用“-whatif”参数来查看如果您执行命令而不实际删除任何内容会发生什么。
  • 哦,我刚刚发现,我的文件在 zip-Extension 后面有一个空格......比如“.zip”。我可以删除最后一个空格的文件吗?
  • 我不认为这是个问题...你试过上面的命令了吗?
猜你喜欢
  • 1970-01-01
  • 2018-12-28
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 2017-06-01
  • 2015-01-19
  • 2017-01-21
  • 1970-01-01
相关资源
最近更新 更多