Имя пользователя:
Пароль:
 | Правила  

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

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

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


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

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


Здравствуйте, помогите пожалуйста в решении следующей проблемы:
В папке находятся файлы
First.mp3
Second.mp3
Third.mp3
Fourth.mp3

Необходимо для каждого файла создать папку с именем как у файла и переместить каждый файл внутрь одноименной папки.
First\First.mp3
Second\Second.mp3
Third\Third.mp3
Fourth\Fourth.mp3

Отправлено: 00:41, 12-03-2016

 

Ветеран


Contributor


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

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


athlonix4@twitter,
Код: Выделить весь код
@Echo Off
cls
 	Set "BoxIn=Z:\Box_In"
rem	Set "BoxIn=%~dp0"

	If Not "%~1"=="" Set "BoxIn=%~1"

	If "%BoxIn:~-1%"=="\" Set "BoxIn=%BoxIn:~0,-1%
	FOR /F "usebackq delims=" %%f In (`2^>nul Dir /B /A:-D "%BoxIn%\*_20??-??-??*.*"`) DO If Exist "%BoxIn%\%%f" (
			Set "NN=%%~nf"
			Call :MyMove "%%f" "_20%%NN:*_20=%%"
	)
Pause
Exit /B

:MyMove
	Set "Name=%~n1"
	Call Set "Name=%%Name:%~2=%%"
	2>nul Md "%BoxIn%\%Name%"
	>nul Move /Y "%BoxIn%\%Name%_20??-??-??*.*" "%BoxIn%\%Name%\"
Exit /B
Батник будет работать корректно, если внутри имени, например, Nikolay, нет сочетания _20, например Niko_20lay

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


Отправлено: 22:49, 19-03-2022 | #11



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

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


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


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

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


Цитата megaloman:
athlonix4@twitter, "Nikolay" - как я понимаю, имя произвольное. Оно может содержать знак "_" ? Кстати, этот вопрос относится и к предыдущим файлам. »
да, "Nikolay" для примера, оно может быть любым, и оно тоже может содержать знак "_", например "_eva_ava_2021-02-07_22-13-27_0002.ts", имя папки должно быть, "_eva_ava", то есть имя папки это все что перед "_20??..." и т.д.

Цитата megaloman:
Батник будет работать корректно, если внутри имени, например, Nikolay, нет сочетания _20, например Niko_20lay »
протестил на небольшом количестве файлов все ок, спасибо. завтра на основной папке попробую.

Последний раз редактировалось athlonix4@twitter, 20-03-2022 в 01:05.


Отправлено: 00:59, 20-03-2022 | #12



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Заархивировать каждый файл в отдельный архив Ins_16 Скриптовые языки администрирования Windows 25 18-11-2023 23:07
CMD/BAT - [решено] Как собрат файлы в папку по 20мб каждый? muqanna Скриптовые языки администрирования Windows 10 14-03-2012 07:39
Ошибка - Не удается поместить список сетевых устройств компьютера в папку fish99 Microsoft Windows 2000/XP 1 30-08-2010 12:22
[решено] Как упаковать папку в один файл и указать в ней исполняемый (exe) файл? SashaKl Хочу все знать 6 22-06-2009 01:11
куда поместить файл irik Вебмастеру 3 02-12-2003 19:10




 
Переход