Мне нужно переместить огромный список каталогов с диска C (внутреннего) на диск E (usb) в окне Windows Server 2008. Я планировал просто создать большой .bat-файл с тысячами команд «переместить». Низкотехнологичный, но кажется достаточно простым.
Но если я наберу «переместить c: \ myDir e: \», я получаю «доступ запрещен» - даже если я вошел в систему как администратор, запустив cmd.exe с повышенными разрешениями.
Я предоставил администратору полный доступ к C и E; все еще доступ запрещен.
Если я перетаскиваю каталоги с помощью графического интерфейса, он работает нормально.
Что мне не хватает?
В справке по команде «move» говорится, что она «перемещает файлы и переименовывает файлы и каталоги». Это не говорит о том, что команда «переместить» перемещает каталоги.
Из интерфейса командной строки вы можете использовать copy c:\mydir e:\ /s
а потом rmdir c:\mydir /s
.
Я бы предложил использовать robocopy c:\mydir e:\ /move /s
. robocopy доступен на любой современной установке Windows и обеспечивает полезную обратную связь при копировании больших объемов данных.
Если вы используете Powershell, а не cmd.exe, вы можете легко написать небольшую вспомогательную функцию или псевдоним, чтобы сократить / упростить команды.
Я не администратор Windows, поэтому, пожалуйста, отнеситесь к моему ответу с долей скептицизма, это нестандартный подход. Недавно я делал резервную копию компьютера друга, чтобы выполнить переустановку, и у меня были аналогичные проблемы (хотя я копировал, а не перемещал). После того, как мне полностью надоели разрешения, мешающие независимо от того, под каким пользователем я был зарегистрирован, я сдался и загрузил Fedora Live CD, смонтировал том NTFS и скопировал содержимое, используя его.
Если Linux не ваш выбор, вы можете попробовать что-нибудь вроде Барт PE что даст вам альтернативную среду для работы с файловой системой.