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

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

Ответить
Настройки темы
CMD/BAT - [решено] Раскидать файлы по папкам согласно дате в имени файла

Пользователь


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

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


Есть папка, где куча файлов, надо раскидать по папкам (создавая папки) согласно дате в имени файла

Имена файлов _ГГГГММДДЧЧССММ.jpg (пример: _20100401080242.jpg)
Нужное имя папки ГГГГММДД (пример: 20100410)

Отправлено: 10:28, 11-11-2011

 

Ветеран


Contributor


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

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


4zz, Попробуйте переставить кавычки
Код: Выделить весь код
:: Обрабатываемая папка
Set "Folder=%cd%"

:: папка назначения
Set "Out=%cd%"
И лучше бы Вы сформулировали Вашу задачу для оптимального решения

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


Последний раз редактировалось megaloman, 23-02-2022 в 12:41.

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

Отправлено: 12:30, 23-02-2022 | #11



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

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


Ветеран


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

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


Цитата megaloman:
лучше бы »
лучше бы не использовать для работы с перемещением файлов одну и ту же папку и очень желательно при этом сам bat держать также не в папке где обрабатываются файлы.

Отправлено: 14:59, 23-02-2022 | #12

4zz 4zz вне форума

Пользователь


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

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


Цитата megaloman:
Попробуйте переставить кавычки »
Ура! поехало!))
Спасибо!)

Цитата megaloman:
И лучше бы Вы сформулировали Вашу задачу для оптимального решения »
Задача простая - есть много файлов - счета за месяц обозванные по номерам домов или фамилиям, их нужно разбросать по одноименным папкам, чтобы чуть позже дополнить эти папки другими файлами этих же собственников/домов.

А может можно как-то упростить/автоматизировать дополнительно?

Допустим есть файлы test и test1 - это один и тот же собственник, просто разные счета - их нужно в одну папку - в моем варианте я батником создаю папки для счетов типа test и отдельно папки для счетов типа test1 применив к их созданию MD "%Out%\!ti:~0,-1%!", т.е. убираю единичку и создаю те же папки, что и в первом случае, но в другом месте, а потом вручную переношу (совмещаю) однотипные папки. Получаю, например папку TEST и в ней файлы test и test1

Отправлено: 18:56, 23-02-2022 | #13

4zz 4zz вне форума

Пользователь


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

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


Изображения
Тип файла: jpg 2022-02-23_214444.jpg
(44.0 Kb, 4 просмотров)
Тип файла: jpg 2022-02-23_220657.jpg
(9.1 Kb, 4 просмотров)
Тип файла: jpg 2022-02-23_220613.jpg
(182.7 Kb, 4 просмотров)

Цитата megaloman:
Надо конкретика, а не абстракция »
Приложил рисунки:
1.Был список файлов
2.Образованы папки
3. Список файлов в папках

Отправлено: 22:12, 23-02-2022 | #14


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls
>nul Chcp 1251
	Set "BoxIn=Z:\Users\Users\Desktop\Февраль 2022"
rem	Set "BoxIn=%~dp0"
	Set "BoxOut=%BoxIn%"

	Set "Ext=xlsx"

	If "%BoxIn:~-1%"=="\"  Set "BoxIn=%BoxIn:~0,-1%"
	If "%BoxOut:~-1%"=="\" Set "BoxOut=%BoxOut:~0,-1%"

	For /F "usebackq delims=" %%f In (`2^>nul Dir "%BoxIn%\*.%Ext%" /B /A:-D ^| FindStr/I /R /V /C:"^.*([0-9]*)\.%Ext%$"`) Do (
		2>nul Md "%BoxOut%\%%~nf"
		>nul Move "%BoxIn%\%%f" "%BoxOut%\%%~nf\"
		>nul Move "%BoxIn%\%%~nf(*)%%~xf" "%BoxOut%\%%~nf\"
	)
Exit /B
Путь к входной и выходной папке укажите свой. Я здесь указал их одинаковыми. Если батник в исходной папке, уберите rem

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

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

Отправлено: 00:23, 24-02-2022 | #15

4zz 4zz вне форума

Пользователь


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

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


megaloman,

ВЫ ВОЛШЕБНИК!!!
СПАСИБО!!! СУПЕР!!!)))

Отправлено: 01:00, 24-02-2022 | #16


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


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

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


Доброго дня! Помогите , пожалуйста, создать скрипт.
Есть файлы у которых название начинается с индексов «420004 …. 420005 …. 420021 … И так далее»
Подскажите как для каждого файла создать папку? Чтобы и файл туда переместился.

Отправлено: 16:26, 23-01-2024 | #17


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off &cls
>nul Chcp 1251
	Set "BoxIn=Z:\Box_In"
	Set "Mask=42*.*"
	Set "BoxOut=Z:\Box_In"

	For /F "usebackq delims=" %%f In (`2^>nul Dir "%BoxIn%\%Mask%" /B /A:-D ^| FindStr /I /R /B /C:"[0-9][0-9][0-9][0-9][0-9][0-9]"`) Do (
		If Exist "%BoxIn%\%%f" (
			Set "Name=%%f"
			2>nul Call MD "%BoxOut%\%%Name:~0,6%%"
			>nul Call Move /Y "%BoxIn%\%%Name:~0,6%%*.*" "%BoxOut%\%%Name:~0,6%%\"
		) 
	)
pause
Exit /B

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


Отправлено: 16:03, 24-01-2024 | #18



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] переместить файлы по папкам согласно списку shadowbat Скриптовые языки администрирования Windows 9 17-11-2023 14:51
Прочие - [решено] Сортирование файлов по папкам (копирование по дате создания) DIMM2005 Программное обеспечение Windows 36 03-01-2020 16:54
CMD/BAT - Разложить файлы из кучи по каталогам согласно образцу Maartimus Скриптовые языки администрирования Windows 18 14-07-2012 13:37
CMD/BAT - [решено] Поиск файла по маске и по дате Баян Скриптовые языки администрирования Windows 2 14-03-2011 13:32
CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла. OSArev Скриптовые языки администрирования Windows 2 30-01-2011 11:58




 
Переход