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

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

Ветеран


Contributor


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

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


Вот еще вариант (Если правильно понял )
Код: Выделить весь код
@Echo Off

SetLocal EnableExtensions EnableDelayedExpansion

FOR /D %%p IN ("D:\Папка номер 1\*.*") DO (
        Set From=%%p
        Set To=!From:D:\Папка номер 1=D:\Упорядоченная папка!
        Set NewName=%%~nxp

        If Not Exist "!To!\" md "!To!\" 

	Set i=1
	FOR /F "usebackq delims=" %%f IN (`Dir "%%p\*.*" /A:-D /B /O:D /T:C 2^>nul`) DO (
		Copy "!From!\%%f" "!To!\!NewName!_!i!" >nul
		Set /A i=!i!+1
	)
)
Нумерую файлы от самых старых по времени создания. Если нужно по имени файла, то Dir должен иметь вид
Код: Выделить весь код
`Dir "%%p\*.*" /A:-D /B /O:N 2^>nul`
У меня файлы копируются, но в постановке непонятное выражение
Цитата:
В то время как исходное место (откуда эти файлы с папками берутся должно остаться неизменным.)
Если имеется ввиду, что файлов в исходном месте не должно быть, а остаться должны только исходные папки, то команду Copy заменить на Move

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


Последний раз редактировалось megaloman, 04-03-2013 в 21:06.


Отправлено: 20:52, 04-03-2013 | #3