Назад | Перейти на главную страницу

Не можете переместить каталоги через границы диска с помощью команды «move» в командной строке?

Мне нужно переместить огромный список каталогов с диска 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 что даст вам альтернативную среду для работы с файловой системой.