2016-10-27 81 views
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 : The process cannot access the file because it is being used by another process.

回答

0

就去做

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

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

我个人使用while循环用于该用途的情况下,一旦你已经确定路径存在,你并不需要保存测试它:

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