Сегодня мне нужно было удалить файл, но я не смог:
[capv@TKG-VC-ANTREA-M]: C:\Users\capv> rm 'C:\Program Files\containerd\containerd-shim-runhcs-v1.exe'
rm : Cannot remove item C:\Program Files\containerd\containerd-shim-runhcs-v1.exe: Access to the path 'C:\Program Files\containerd\containerd-shim-runhcs-v1.exe' is denied.
Как ни странно, я нашел обходной путь: просто mv
сделал это, и это сработало.
[capv@TKG-VC-ANTREA-M]: C:\Users\capv> mv 'C:\Program Files\containerd\containerd-shim-runhcs-v1.exe' a
После этого мне удалось достичь своей первоначальной цели — распаковать содержимое tarball-архива в этот каталог.
[capv@TKG-VC-ANTREA-M]: C:\Users\capv> cmd /c tar -zxvf containerd.tar.gz -C "c:/program files/containerd" --strip-components 1
x containerd-shim-runhcs-v1.exe
x containerd-revision.txt
x containerd.exe
x hcsshim-revision.txt
x ctr.exe
Из любопытства, после перемещения файла, я попробовал, но так и не смог удалить перемещенную версию файла:
[capv@TKG-VC-ANTREA-M]: C:\Users\capv> rm a
rm : Cannot remove item C:\Users\capv\a: Access to the path 'C:\Users\capv\a' is denied.
At line:1 char:1
Почему Windows Server позволяет мне переместить, но не удалять этот файл?