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

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

Ответить
Настройки темы
CMD/BAT - получить список папок, имеющих внутри файлы определенного типа

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


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

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


Добрый день!
Прошу помощи в решении такой задачи:

Есть некоторое количество папок, содержаших в себе файлы разных типов, предположим вот такие файлы:

D:\one\track1.mp3
D:\one\track2.mp3
D:\one\track2.flac

D:\two\track2.flac

D:\three\track3.mp3

d:\four\track4.flac

Мне нужно получить список папок в которых есть файлы с расширением .mp3, то есть на выходе должен получится такой список:

d:\one
d:\three

Как мне это реализовать? Заранее спасибо

Отправлено: 11:37, 05-03-2013

 

Аватара для zion87

Старожил


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

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


Если в именах папок есть кириллица - сохраняем 866

Код: Выделить весь код
@Echo Off
Set R="0"
Set Spisok=d:\List.txt
For /f "Delims=" %%a In ('Dir /s /b /a-d "d:\*.mp3"') Do Call :1 "%%~dpa"
Goto:Eof
:1
If %R% NEQ %1 (
	Set R=%1
	If %R% NEQ "0" Echo %R:~1,-2% >>%Spisok%
)
Список будет представлен d:\List.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:46, 05-03-2013 | #2



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

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


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


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

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


Благодарю.
Посмотрев на Ваше решение пришел к такому скрипту:
Код: Выделить весь код
@ECHO OFF
SET R="0"
FOR /R %%A IN ("*.mp3" "*.flac") DO (
	call :1 "%%~dpA"
)
goto :eof
:1 
SET R=%1
move /Y "%R:~1,-2%" "E:\Music"
Перемещает все папки в текущем каталоге, содержащие музыку, в E:\Music
Вроде работает, за исключением одного момента - если встречаются одинаковые названия папок по месту назначения и откуда забираем - move выдает access denied и перемещение не происходит.

Последний раз редактировалось tempik, 06-03-2013 в 08:45.


Отправлено: 13:33, 05-03-2013 | #3


Аватара для gora

Ушёл из жизни


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

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


Цитата zion87:
Если в именах папок есть кириллица - сохраняем 866 »
zion87, не критики ради, а пользы для. Объясните мне, в чем будет разница в этом конкретном файле при сохранении его в кодировках 1251 и 866? Ибо, скрипт не содержит кириллицы и каких либо других символов, которые различаются в этих кодировках.
Проверил, скрипты после сохранения идентичны при побайтовом сравнении.

Отправлено: 15:33, 05-03-2013 | #4


Ветеран


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

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


gora, я тоже хотел было сказать про конкретный случай, но промолчал .

Отправлено: 17:15, 05-03-2013 | #5


Аватара для zion87

Старожил


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

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


gora, просто у меня при 1251 русские символы записывались в блокнот кракозаброй, но если и без этого работает тогда я рад )))) Спасибо за правильную критику!!!

Отправлено: 19:27, 05-03-2013 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Получить полный список папок и под папок в определенной папке dvassilyev Скриптовые языки администрирования Windows 9 17-11-2016 21:41
CMD/BAT - [решено] Удаление каталогов не содержащих файлы определенного типа m3nthal Скриптовые языки администрирования Windows 2 15-01-2012 18:26
WMI-фильтр для выборки компьютеров не имеющих определенного обновления GhOsT_MZ Microsoft Windows NT/2000/2003 9 02-11-2011 20:56
Как в домене вин 2003 запретить пользователям сохранять файлы определенного типа Russo Microsoft Windows NT/2000/2003 5 12-02-2009 10:25
как изменить права на файлы только определенного типа Guest Microsoft Windows NT/2000/2003 12 23-03-2004 10:09




 
Переход