[CMD] Как могу переместить папку через бат?

хочу переместит папку с одной на другую директорию
move не возможно только файлы можно
 
Последнее редактирование:
простите я попробовал не получается а на help move ничего лишнего не написано если вы знаете помогите но пожалуйста если хотите задавайте всех подряд не отнимите моё время напрасно
я имею в виду если у вас ест вопросы задавайте подряд все
 
Последнее редактирование:
приведите вашу команду move и скриншот консоли, где у вас "не получается"
 
Setlocal EnableExtensions EnableDelayedExpansion
chcp 1251>nul
set From=c:\temp
set Fld=c:\temp2
if not exist "%Fld%" mkdir "%Fld%"
for /f "delims=" %%i in ('dir "%From%" /b /a:d') do (
set /a n+=1
"%ProgramFiles%\WinRAR\Rar.exe" a -ep1 "%Fld%\!n!.rar" "%From%\%%i"
)
chcp 866>nul
pause
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:\Users\User>move/?
Перемещение файлов и переименование файлов и папок

Перемещение одного или более файлов:
MOVE [/Y | /-Y] [диск:][путь]имя_файла1[,...] назначение

Переименование папки:
MOVE [/Y | /-Y] [диск:][путь]имя_папки новое_имя_папки

[диск:][путь]имя_файла1 Определяет местоположение файла или файлов, которые
необходимо переместить.
Назначение Определяет новое местоположение файла. Назначение
может состоять из буквы диска (с последующим
двоеточием), имени папки или их комбинации. При
перемещении только одного файла, можно указать и его
новое имя, если хотите выполнить его одновременное
переименование при перемещении.
[диск:][путь]имя_папки Определяет папку, которую необходимо переименовать.
новое_имя_папки Определяет новое имя папки.

/Y Перезаписывать существующие файлы назначения без
предупреждения.
/-Y Предупреждать при перезаписи существующего файла
назначения.

Ключ /Y может присутствовать в значении переменной среды окружения COPYCMD.
Оно может перекрываться ключом /-Y в командной строке. По умолчанию
используется предупреждение о перезаписи, если только команда MOVE не
выполняется как часть пакетного файла.

C:\Users\User>
 
Последнее редактирование:
Код:
move "исходная папка" "назначение"

я не вижу в вашем коде команды move
 
и справку я умею читать, зачем вы ее процитировали, нужен скриншот ошибки консоли, а не мануал

Если вы пытаетесь переместить папки между разными дисками, то у винды нету такой прямой операции - сперва выполняется копирование, потом удаление источника, т.е. xcopy и rd
 
Последнее редактирование:
как дополнил выше, это не сработает, нужно:

Код:
xcopy /c /e /h /r /y /i /k  "E:\dir" "D:\dir" && rd /s /q "E:\dir"
 
Еще раз говорю, виндовс не поддерживает такую операцию, ее просто нет.
Если вы где-либо видели на PowerShell или др. языке подобное в одну команду, то это просто обёртка поверх двух операций - сперва копирование, затем удаление исходника.
Каждый логический диск имеет своё пространство на физическом уровне. Не достаточно просто изменить ссылку в MFT, чтобы переместить объект между разными дисками.
 
С файлом происходит тоже самое. Это уже внутренние особенности ("ограничения") реализации самой команды move.
Точнее реализации самой API MoveFile, которую зовёт move.

MSDN написал(а):
A new file may be on a different file system or drive. A new directory must be on the same drive.
 
Последнее редактирование:
а что если move D:\dir D:\x\ получается
вы сказали: " Если вы пытаетесь переместить папки между разными дисками, то у винды нету такой прямой операции - сперва выполняется копирование, потом удаление источника, т.е. xcopy и rd"
 
Последнее редактирование:
Назад
Сверху Снизу