|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] перемещение файлов , последних по имени |
|
CMD/BAT - [решено] перемещение файлов , последних по имени
|
Ветеран Сообщения: 546 |
Здравствуйте.
Можно ли переместить количество файлов, которое я укажу, из одного каталога в другой, начиная с последнего? т.е. если к примеру я указал количество 2, а в каталоге файлы 0001.news 0002.news 0003.news 0004.news 0005.news 0006.news, чтобы переместились файлы 0006.news и 0005.news ![]() |
|
Отправлено: 23:30, 20-08-2014 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Alexander_88, здравствуйте. Вот код:
@echo off set number=2 set index_format=4 set "extension=.news" set "in=D:\Test 1" set "out=D:\Test 2" for /f %%i in (' set /a index_format-1 ') do ( for /l %%j in (1 1 %%i) do ( call set zeros=0%%zeros%% ) ) for /f "delims=" %%i in (' dir /a-d/b/o-n "%in%\*%extension%" ') do ( for /f "tokens=* delims=0" %%j in ("%%~ni") do ( for /f %%k in (' set /a %%j-%number%+1 ') do ( for /l %%l in (%%j -1 %%k) do ( set $index=%zeros%%%l call move "%in%\%%$index:~-%index_format%%%%extension%" "%out%">nul ) ) ) exit /b ) |
Последний раз редактировалось Georgio, 21-08-2014 в 01:30. Отправлено: 00:28, 21-08-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 546
|
Профиль | Отправить PM | Цитировать где- то я походу ошибку допустил, не хочет перемещать
@echo off set number=2 set index_format=4 set "extension=.news" set "in=C:\work\new\" set "out=C:\work\new\1" for /f %%i in (' set /a index_format-1 ') do ( for /l %%j in (1 1 3) do ( call set zeros=0%%zeros%% ) ) for /f "delims=" %%i in (' dir /a-d/b/o-n "%in%\*%extension%" ') do ( for /f "tokens=* delims=0" %%j in ("%%~ni") do ( for /f %%k in (' set /a %%j-%number%+1 ') do ( for /l %%l in (%%j -1 %%k) do ( set $index=%zeros%%%l call move "%in%\%%$index:~-%index_format%%%%extension%" "%out%">nul ) ) ) exit /b ) |
Отправлено: 01:07, 21-08-2014 | #3 |
Ветеран Сообщения: 546
|
Профиль | Отправить PM | Цитировать понял в чем дело, просто название файлов числа + буквы, к примеру 0001start, 0003finish
|
Последний раз редактировалось Alexander_88, 21-08-2014 в 07:07. Отправлено: 07:00, 21-08-2014 | #4 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Alexander_88, предлагаю изменить условие задания в теме, взаимно удалить ответы и начать
|
|
Отправлено: 07:36, 21-08-2014 | #5 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Alexander_88, вот код для сложного случая, когда в одной папке находятся файлы с различными "корневыми именами" (или без таковых) и с различными форматами индекса в качестве префикса:
@echo off set number=2 set "const=root.exp" set index_format=4 set "in=D:\Test 1" set "out=D:\Test 2" for /l %%i in (1 1 %index_format%) do ( call set reg_exp=[0-9]%%reg_exp%% ) for /f "delims=" %%i in (' dir /a-d/b/o-n "%in%\*%const%"^| findstr /r "^%reg_exp%" ') do ( set /a count+=1 for /f %%j in (' set /a count ') do ( if %%j leq %number% ( move "%in%\%%i" "%out%">nul ) else ( exit /b ) ) ) . |
Отправлено: 13:39, 21-08-2014 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - перемещение файлов в каталог созданный из части имени файла | surrender1 | Скриптовые языки администрирования Windows | 9 | 10-10-2013 14:42 | |
CMD/BAT - Перемещение файлов по списку | Arsenik77 | Скриптовые языки администрирования Windows | 4 | 04-12-2011 20:43 | |
CMD/BAT - Перемещение файлов по маске | SanyaJoker | Скриптовые языки администрирования Windows | 0 | 17-11-2011 12:54 | |
CMD/BAT - [решено] Перемещение файлов из одной папки в разные в зависимости от имени файла | Sarge81 | Скриптовые языки администрирования Windows | 4 | 20-09-2011 04:20 | |
CMD/BAT - [решено] Создание папок по дате получения файлов и перемещение в них файлов | KamikadZZe | Скриптовые языки администрирования Windows | 1 | 01-09-2011 14:15 |
|