2016-10-27 1 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

Название вопроса: «Проблемы с перемещением элементов тестового пути» подразумевает, что один командлет может влиять на другой. Для меня это не имеет смысла, так как Test-Path проверяет существование папки и Move-Item работает над дочерними элементами внутри этой папки.

Лично я бы не использовать while петлю для этого случая использования в качестве, как только вы определили, что путь существует не нужно держать тестирования:

if(Test-Path -Path $path){ 
    Move-Item -Path $path\*zip -Destination $destination 
} 
Смежные вопросы