Как принудительно скопировать файл с помощью powershell

Я использую powershell для копирования файла на удаленный компьютер с помощью следующей команды:

Copy-Item -Path [MyPath]\* -Destination \\[server]\[MyPath] -force

Он отлично работает, но иногда я получаю следующее сообщение об ошибке: «Процесс не может получить доступ к файлу [...], потому что он используется другим процессом».

Можно ли принудительно скопировать файл, даже если он используется?


person forumma    schedule 11.04.2013    source источник


Ответы (1)


Единственный способ сделать это — избавиться от дескриптора, который процесс имеет для файла, который вы перезаписываете.

Это либо сервис, либо настольное приложение, обращающееся к файлу. Вы можете узнать, кто имеет доступ к файлу, используя handle.exe из SysInternals.

Как только вы узнаете, кто обращается к файлу, вы можете остановить/убить его удаленно (при условии, что у вас есть на это права).

person Andy Arismendi    schedule 11.04.2013
comment
Большое спасибо, я уже закрываю службу Windows, но файл остается заблокированным... Я попробую следующее: stackoverflow.com/questions/958123/ - person forumma; 11.04.2013