CMD MOVE не может заменить каталоги в WIN 7

Команда MOVE не работает, когда нужно оформить каталог. Я также попытался запустить cmd с правами администратора. Я отправляю этот вопрос с дополнительной информацией, чтобы вы могли легко протестировать его.

Создайте собственную папку и откройте окно команд в этом месте. Затем скопируйте и вставьте этот блок в cmd-window, чтобы создать тестовую структуру

 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 прекрасна, но в win7 она не работает (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 совершенно бесполезна ...

Мне действительно нужна команда 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"

 Если% 1 является path_to_a_folder, тогда (
    Get% foldername% 1
    Robocopy "% 1" c: \ mydir \% имя_папки / E / IS / MOVE
 ) Else move / y "% 1" c: \ mydir \

EDIT: Эй, это отлично работает для каталогов, что еще я могу сделать, чтобы скрипт также мог работать с файлами?

 robocopy %1 "C:\Users\azizkar\Desktop\ebben\%~n1" /E /IS /MOVE 

2 Solutions collect form web for “CMD MOVE не может заменить каталоги в WIN 7”

Наконец .. вот решение .. Спасибо за помощь ребятам 🙂

 SET mydir=C:\mydir IF EXIST "%mydir%\%~n1\" ( ROBOCOPY %1 "%mydir%\%~n1" /E /IS /MOVE ) ELSE ( MOVE /Y %1 "%mydir%\" ) 

XXCopy будет моей рекомендацией.

Универсальная утилита копирования файлов.

Введите описание изображения здесь

  • Открытые аквамаки и переход к номеру строки
  • Удаление всех файлов, которые не соответствуют определенному шаблону - Командная строка Windows
  • Как найти MAC-адрес моего компьютера?
  • Как переписать одну и ту же строку в командном выводе из командного файла
  • В Windows Explorer почему мы можем создать папку или файл с символом процента (%), если символ процента используется для существующих переменных?
  • Linux: сжатие всех .pdf-файлов рекурсивно (.tar)
  • Редактирование видео в командной строке в Linux (вырезание, подключение и предварительный просмотр)
  • Windows 7. Откройте всплывающее меню Volume Control из командной строки.
  • Команда FOR / DO дает сообщение «Было неожиданным в это время» при запуске из командной строки
  • Команда Linux для возврата числа бит (32 или 64)?
  • Как передать текст из командной строки в буфер обмена
  • Приостановить / возобновить процесс простым способом?
  • Давайте будем гением компьютера.