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

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

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

Старожил


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

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


Изменения
Автор: shadowbat
Дата: 06-05-2015
Здравствуйте
как можно перенести все файлы из подкаталогов в текущей %CD% папке? и добавить к именам файлов имена папок, в которых они ранее лежали

например есть структура папок
C:\Каталог\Папка1\файл1.txt
C:\Каталог\Папка2\Папка3\файл2.jpg

нужно закинуть bat файл в папку "Каталог" и запустить
в результате он переименовывает и переносит все файлы в "корень", удаляет старые пустые папки.
Результат
C:\Каталог\Папка1-файл1.txt
C:\Каталог\Папка2-Папка3-файл2.jpg

Отправлено: 13:59, 06-05-2015

 

Ветеран


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

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


Цитата shadowbat:
нужно закинуть bat файл в папку "Каталог" и запустить
в результате он переименовывает и переносит все файлы в "корень", удаляет старые пустые папки. »

Код: Выделить весь код
@echo off

subst #: .&& pushd #:\|| exit/b 1

for /f "delims=" %%i in ('2^>nul dir/a-d/b/s') do (
 for /f "tokens=* delims=#:\" %%j in ("%%i") do (
  set x=%%j
  >nul 2>&1 cmd/v/c move "%%i" "!x:\=-!"
 )
)

rem Если в каких-то папках останутся неперемещённые файлы
rem (скрытые, системные или занятые каким-то процессом),
rem то такие папки удалены не будут.
for /f "delims=" %%i in ('2^>nul dir/ad/b/s') do (
 for /f %%j in ('2^>nul dir/a-d/b/s "%%i"^| find/c /v ""^|findstr/x 0') do (
  2>nul rd/q/s "%%i"
 )
)

popd& subst/d #:

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

Отправлено: 17:19, 06-05-2015 | #2



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

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


Старожил


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

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


Georgio это превосходно! спасибо

Отправлено: 17:36, 06-05-2015 | #3



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Переименовать и переместить файлы vider Скриптовые языки администрирования Windows 7 12-05-2013 16:35
VBS/WSH/JS - Копирование файлов из каталогов и подкаталогов с сохранением структуры подкаталогов spke Скриптовые языки администрирования Windows 0 10-04-2013 23:58
CMD/BAT - Создание архива из подкаталогов cezar_bd Скриптовые языки администрирования Windows 3 28-11-2012 10:13
Интерфейс - как переименовать папку с кирилицы на латиницу или перенести все файлы? kulgovd Microsoft Windows 7 1 04-06-2012 02:33
CMD/BAT - копирование файлов из подкаталогов bojfriend Скриптовые языки администрирования Windows 8 31-08-2011 01:49




 
Переход