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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Перемещение и переименование файлов

Ответить
Настройки темы
CMD/BAT - [решено] Перемещение и переименование файлов
it3 it3 вне форума

Новый участник


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

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


Доброго дня всем!
Подсобите пожалуйста BAT'ником.
Есть папка с файлами "NaklScan":
"2018-01-18_(1).tif",
"2018-01-18_(2).tif",
"2018-01-18_(3).tif",
"2018-01-18_(4).tif",
"2018-01-18_(5).tif",
"2018-01-18_(6).tif",
... ... ... ... ... ... ...
"2018-01-18_(7000).tif",
... ... ... ... ... ... ...
которая после 3000 файлов начинает долго открываться (т.к. строится список).
Нужно чтобы из этой папки (NaklScan) файлы перемещались в другую папку (NaklScan5) - предположим по 100 шт.

Но загвоздка в том, что после перемещения файлов:
"2018-01-18_(1).tif",
"2018-01-18_(2).tif",
"2018-01-18_(3).tif",
"2018-01-18_(4).tif",
"2018-01-18_(5).tif",
"2018-01-18_(6).tif",
... ... ... ... ... ... ...
"2018-01-18_(7000).tif",
... ... ... ... ... ... ...
в папку "NaklScan5", в папке "NaklScan" будут снова создаваться файлы с такими же именами.

Т.е. нужно чтобы при перемещении в папку "NaklScan5" порядковый номер продолжался:

"2018-01-18_(7001).tif",
"2018-01-18_(7002).tif",
"2018-01-18_(7003).tif",
"2018-01-18_(7004).tif",
"2018-01-18_(7005).tif",
"2018-01-18_(7006).tif".

Отправлено: 11:25, 11-01-2018

 
it3 it3 вне форума Автор темы

Новый участник


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

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


Цитата megaloman:
Кроме того, останутся все файлы 20??-??-??.tif. Вас это устраивает? »
Нет.

Отправлено: 13:58, 09-06-2018 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


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

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


it3, Что Вас не устраивает? Останутся все файлы 20??-??-??.tif? Или что останется единственный нумерованный файл?
it3, Если надо в каждой дате сохранить последний файл (отбор файла по каждой дате по времени последнего изменения)
Код: Выделить весь код
@Echo Off
Set "BoxIn=Z:\Box_In"
Set "BoxOut=Z:\Box_Out"
Set "Mask=20??-??-??*.tif" 

Set "Dtt=0000-00-00"
FOR %%f IN ("%BoxIn%\%Mask%") DO Set Df=%%~nf &Call :LastFile "%%Df:~0,10%%" "%%~xf"
GoTo :Eof

:LastFile
	If "%Dtt%"==%1 GoTo :Eof
	Set "Dtt=%~1"
	Set "MaskData=%BoxIn%\%Dtt%*%~2"

	FOR /F "usebackq skip=1 delims=" %%f IN (`2^>nul Dir "%MaskData%" /B /A:-D /O:-D /T:W`) DO >nul Move "%BoxIn%\%%f" "%BoxOut%\"
GoTo :Eof
А если вообще не привязываться ко времени создания или изменения, а к номеру (но это медленнее)
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion

Set "BoxIn=Z:\Box_In"
Set "BoxOut=Z:\Box_Out"
Set "Mask=20??-??-??*.tif" 

Set "Dtt=0000-00-00"
FOR %%f IN ("%BoxIn%\%Mask%") DO Set Df=%%~nf &Call :LastFile "%%Df:~0,10%%" "%%~xf"

GoTo :Eof

:LastFile
	If "%Dtt%"==%1 GoTo :Eof
	Set "Dtt=%~1"
	Set "MaskData=%BoxIn%\%Dtt%*%~2

	Set /A Max=0
	Set "NF=%~1%~2"
	FOR /F "usebackq tokens=1,2* delims=()" %%i IN (`2^>nul Dir "%MaskData%" /B /A:-D /O:-N`) DO If Not "%%k"=="" If !Max! LSS %%j Call Set /A Max=%%j &Set "NF=%%i(%%j)%%k"
	FOR %%i IN ("%MaskData%") DO If Not "%%~nxi"=="%NF%" Move /Y "%%i" "%BoxOut%\" >nul
GoTo :Eof

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:32, 09-06-2018 | #32



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Перемещение и переименование файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Переименование/перемещение файла через drag&drop. VoyS Скриптовые языки администрирования Windows 3 17-06-2016 21:45
CMD/BAT - Архивирование, переименование и перемещение файлов с помощью BAT-файла kirillius Скриптовые языки администрирования Windows 7 13-05-2016 12:57
CMD/BAT - переименование группы файлов с запросом начального номера и перемещение kozikozi Скриптовые языки администрирования Windows 19 29-07-2014 19:31
CMD/BAT - [решено] Скрипт перемещение+переименование файла Pyrocar Скриптовые языки администрирования Windows 2 30-08-2010 14:25




 
Переход