测试路径移动项问题

时间:2016-10-27 08:35:19

标签: powershell powershell-v4.0 powershell-v5.0

我运行此PowerShell脚本,它在PowerShell 4.0上运行良好。但我现在有PowerShell 5.0并且脚本确实有效,但它会引发错误:

剧本:

$path = "X"
$destination = "Y"

while (Test-Path -Path $path) {
    Move-Item -Path "$path\*zip" -Destination "$destination"
    }

我得到的错误是:

  

Move-Item:进程无法访问该文件,因为它正在存在   被另一个过程使用。

2 个答案:

答案 0 :(得分:0)

问题的标题:“测试路径移动项目问题”意味着一个cmdlet可能正在影响另一个。这对我来说没有意义,因为Test-Path正在检查文件夹的存在,而Move-Item正在处理该文件夹中的子项目。

就我个人而言使用while循环作为此用例,因为一旦确定路径存在,您就不需要继续测试它了:

if(Test-Path -Path $path){
  Move-Item -Path $path\*zip -Destination $destination
}

答案 1 :(得分:0)

就这样做

 Move-Item -Path "$path\*zip" -Destination "$destination" -ErrorAction Ignore