Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


westovich, Вы себе противоречите.
Цитата:
Есть задача скопировать файлы с сохранением структуры каталогов в другой каталог и потом грохнуть копируемые файлы
Затем Вы делаете попытку, как мне показалось, скопировать полностью каталог test. Об удалении речь не идёт. При этом Вы пИшите
Цитата:
Места мало, целиком скопировать в другой каталог не получится
Если всё-таки копируете целиком, почему не так? Затем удалить исходные файлы не проблема
Код: Выделить весь код
@Echo off

Set "InBox=D:\Test"
Set "OutBox=D:\1"

Pushd "%InBox%"

Xcopy /E *.* "%OutBox%\"
Можно перемещать файлы по папкам, если структура папок в исходном каталоге не надо, её в исходной папке можно легко очистить
Код: Выделить весь код
@Echo off

SetLocal EnableExtensions EnableDelayedExpansion

Set "InBox=D:\Test"
Set "OutBox=E:\1"

Pushd "%InBox%"

move /Y *.* "%OutBox%\" >nul 2>nul
FOR /F "usebackq delims=" %%d IN (`Dir /b /s /A:D 2^>nul`) DO (
	Set "Out=%%d"
    	Set Out=!Out:%InBox%=%OutBox%!
	md "!Out!\" 2>nul
	move /Y "%%d\*.*" "!Out!\" >nul 2>nul
)
И, наконец, если структуру каталогов в исходной папке сохранять не надо и если исходная и конечная папки на одном диске. В принципе, исходное дерево каталогов можно восстановить
Код: Выделить весь код
@Echo off
cls

Set "InBox=D:\Test"
Set "OutBox=D:\1"

Pushd "%InBox%"

move /Y *.* "%OutBox%\"
FOR /F "usebackq delims=" %%d IN (`Dir /b /A:D 2^>nul`) DO (
	move /Y "%InBox%\%%d" "%OutBox%\" >nul
)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 04-06-2016 в 17:31.


Отправлено: 16:18, 04-06-2016 | #2