我运行此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:进程无法访问该文件,因为它正在存在 被另一个过程使用。
答案 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