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

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

Ответить
Настройки темы
CMD/BAT - Добавление названия папки к имени файлов.

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


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

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


В корневой папке есть подпапка с названием "Worked". Нужно, чтобы батник, находящийся в корневой папке добавлял ко всем файлам в "Worked" название папки перед файлом: Worked_xxxxxx. Помогите. пожалуйста. написать скрипт.

Отправлено: 23:34, 15-11-2017

 

Ветеран


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

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


Код: Выделить весь код
for %%i in ("%~dp0\Worked\*.*") do ren "%~dp0\Worked\%%i" "Worked_%%i"

Отправлено: 07:34, 16-11-2017 | #2



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

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


Ветеран


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

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


[можете удалить после корректировки]
Iska,
наверное лучше: for %%i in ("%~dp0Worked\*.*") do ren "%~dp0Worked\%%~nxi" "Worked_%%~nxi"
а то ТС прозреет при запуске с рабочего стола, по условию (В корневой папке есть подпапка с названием "Worked") удовлетворяет хоть и маловероятно

Отправлено: 16:03, 16-11-2017 | #3

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


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

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


Viktor99, имя подпапки конкретно "Worked" — или может быть в общем случае любым?

-------
Mikhail Zhilin


Отправлено: 16:36, 16-11-2017 | #4


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


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

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


Название конкретно такое. А можно как-то реализовать скрипт, чтобы он изменял имя файла по маске "имя папки_имя файла" в любой папке, куда его забросить?

Отправлено: 16:58, 16-11-2017 | #5


Ветеран


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

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


Цитата Viktor99:
_имя файла »
а если такой уже есть? И в любом случае надо что-то: _имя файла_1(2, 3, ...) или типа того, если файл не один

Отправлено: 17:35, 16-11-2017 | #6


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


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

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


Цитата alpap:
а если такой уже есть? И в любом случае надо что-то: _имя файла_1(2, 3, ...) или типа того, если файл не один »
В данном случае файлы всегда с разными именами (одинаковых никогда не будет).

Отправлено: 17:39, 16-11-2017 | #7


Ветеран


Contributor


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

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


Viktor99,
Код: Выделить весь код
@Echo Off
Set "NameFolder=Box*"
Set "NameFile=*.mp3"

FOR /F "usebackq delims=" %%d IN (`Dir "%NameFolder%" /b /A:D 2^>nul`) DO (
	FOR /F "usebackq delims=" %%f IN (`Dir "%%d\%NameFile%" /b /A:-D 2^>nul`) DO (
		Call :RenFile "%%d" "%%f"
	) 
)
GoTo :Eof

:RenFile
	Set "InDir=%~1
	Set "InFile=%~2"
	Call Set "InFile=%%Infile:%InDir%_=%%"
 	If "%InFile%"==%2 Ren "%~1\%~2" "%~1_%~2"
GoTo :Eof
Переименовываем по маскам, имя папки и имя файла может задаваться маской:
Папка\Файл -> Папка\Папка_Файл
Повторный запуск батника не приведёт к еще одному переименованию. То есть, имена
Папка\Папка_Файл -> не будут переименованы в Папка\Папка_Папка_Файл

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


Отправлено: 17:56, 16-11-2017 | #8



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Копирование файлов в папки в зависимости от части имени nana_MeDBeD Скриптовые языки администрирования Windows 2 16-08-2017 04:37
Любой язык - Поиск файлов по имени папки и сортировка Noscripter Скриптовые языки администрирования Windows 1 23-03-2015 00:43
CMD/BAT - [решено] Скопировать названия файлов из папки и добавить символ в конец названия kiber31 Скриптовые языки администрирования Windows 6 17-08-2012 14:04
CMD/BAT - [решено] Добавление к имени файла имя папки Arsenik77 Скриптовые языки администрирования Windows 12 13-08-2011 20:28
Как переименовать имя аккаунта в XP с изменением имени его папки и других файлов. Alikber Microsoft Windows 2000/XP 4 06-03-2006 00:15




 
Переход