Команда MOVE не работает, когда перезаписать каталог. Я также попытался запустить cmd с правами администратора.
Я публикую этот вопрос с дополнительной информацией, чтобы вы могли легко проверить его самостоятельно.
Создайте свою собственную папку где-нибудь и откройте командное окно в этом месте. Затем скопируйте и вставьте этот блок в cmd-окно для создания тестовой структуры.
MD aaa\test\a MD aaa\test\b MD bbb\test\b MD bbb\test\c MD ccc\test\a MD ccc\test\c ECHO hello > aaa\test\a\a.txt ECHO hello > aaa\test\b\b.txt ECHO hello > bbb\test\b\b.txt ECHO hello > bbb\test\c\c.txt ECHO hello > ccc\test\a\a.txt ECHO hello > ccc\test\c\c.txt
Теперь я хочу переместить и объединить все "тестовые" папки в «.\ Test»
Команда MOVE хороша, но в win 7 она не работает (Access Denied), когда перезаписывать существующие "папки". если вы сейчас попробуете следовать за блоком один за другим, первый будет в порядке, но следующий потерпит неудачу.
move /Y aaa\test .\ move /Y bbb\test .\ move /Y ccc\test .\
Однако я нашел другие решения, которые делают то же самое.
XCOPY aaa\test test\ /E/Y XCOPY bbb\test test\ /E/Y XCOPY ccc\test test\ /E/Y RD aaa\test /Q/S RD bbb\test /Q/S RD ccc\test /Q/S
XCOPY, а затем удалить каталог
ROBOCOPY aaa\test test\ /E /IS /MOVE
ROBOCOPY с опцией /Move
COPY command is totally useless in this case...
Мне действительно нужна команда MOVE, чтобы получить командный файл с этим контентом, который работал в XP.
move /y "%1" c:\mydir\
Я попробовал robocopy, но тогда он будет перемещать только содержимое папки. не папка полностью.
robocopy "%1" c:\mydir /E /IS /MOVE
Если вы хотите помочь мне, то вы можете сделать это двумя способами ..
1) Найти решение, чтобы заставить MOVE работать как в XP
2) Найдите способ сделать то же самое, что делает ход /y "% 1" c:\mydir\
Предложение может быть, чтобы получить имя папки из пути и сделать что-то вроде этого
// %1 = "c:\anotherdir\cool" if %1 is path_to_a_folder then ( get %foldername of %1 robocopy "%1" c:\mydir\%foldername /E /IS /MOVE ) else move /y "%1" c:\mydir\
РЕДАКТИРОВАТЬ: Эй, это отлично работает для каталогов, что еще я могу сделать, чтобы скрипт также мог работать с файлами?
robocopy %1 "C:\Users\azizkar\Desktop\ebben\%~n1" /E /IS /MOVE