Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Как найти по одному файлу каждого типа

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Tue Dec 22, 2009 20:31    Post subject: Как найти по одному файлу каждого типа Reply with quote

Продолжаю заниматься ассоциированием, и цель не пропустить ни одного расширения. А потом пришла мысль - на диске найти все файлы по одному разных типов. Как это сделать? Поиском? скриптом?
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Tue Dec 22, 2009 22:40    Post subject: Reply with quote

Andrey_A
Скрипты тут особо не нужны. Глобальный поиск Тоталом (не забудь отметить, чтоб искал только файлы), скопировать список в буфер, дальше любым пристойным текстовым редактором отрезать всё, кроме расширений, удалить дубликаты и отсортировать. В EmEditor'е, в частности, всё это делается на ура.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Tue Dec 22, 2009 23:55    Post subject: Reply with quote

Andrey_A, уточни,
нужно перечислить все существующие расширения (без имён)
или найти по одному файлу каждого расширения?
И если второе, в каком виде сделать выходной список:
d:\path\file.ext
d:\path\file2.ext2
или
ext d:\path\file.ext
ext2 d:\path\file2.ext2
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Dec 23, 2009 00:38    Post subject: Reply with quote

Andrey_A, надеюсь, я понял тебя правильно.
В начале .cmd добавь/удали нужные буквы дисков.
Code:
@echo off &chcp 1251 >nul
setlocal enableextensions

title C:\
dir c: /a-d/b/s/oe >c:\_all_files.tmp
title D:\
dir d: /a-d/b/s/oe >>c:\_all_files.tmp
title E:\
dir e: /a-d/b/s/oe >>c:\_all_files.tmp

for /f "delims=" %%f in (c:\_all_files.tmp) do (
echo %%~xf: "%%f">> c:\_ext_files.tmp
)
sort c:\_ext_files.tmp /o c:\_sort_exts.tmp
del /q c:\_all_files.tmp &del /q c:\_ext_files.tmp

set "e=."
for /f "tokens=1,*" %%e in (c:\_sort_exts.tmp) do (
title .%%e &call :compare %%e %%f
)
del /q c:\_sort_exts.tmp &exit /b

:compare
if not "%e%"=="%1" (
echo %1 %2>> c:\_one_ext.txt
set "e=%1"
)
goto :eof

Исправлено


Last edited by Tol!k on Tue Feb 23, 2010 00:57; edited 1 time in total
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Wed Dec 23, 2009 01:43    Post subject: Reply with quote

http://powerpro.wincmd.ru/Scripts/Nextension.htm
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Wed Dec 23, 2009 04:00    Post subject: Reply with quote

Quote:
=надеюсь, я понял тебя правильно

Tol!k
Да, ты меня понял правильно, просто уточню: нужен список в обычной форме с:\...\файл.txt , чтобы я смог скопировать его в папку, но список нужен не всех на диске файлов, а только по одному от каждого вида. Т.е если программа поиска нашла файл.txt и добавила в лист, то при повторном нахождении файлов с расширением .txt, уже ничего не добавляется в список листа, и так с каждым расширением.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Tue Dec 29, 2009 19:10    Post subject: Reply with quote

Разве c:\_one_file.lst не то, что нужно? — "только по одному от каждого вида"
Quote:
если программа поиска нашла файл.txt и добавила в лист, то при повторном нахождении файлов с расширением .txt, уже ничего не добавляется в список
Алгоритм cложнее, а в итоге всё равно придётся прочесать весь диск.
Back to top
View user's profile Send private message
D1P



Joined: 20 Dec 2004
Posts: 2973
Location: Тбилиси

Post (Separately) Posted: Mon Jan 11, 2010 17:29    Post subject: Reply with quote

Случайно обнаружил готовый способ сделать требуемое (найти все типы файлов, присутствующих на диске): плагин VisualDirSize имеет этот функционал по умолчанию, плюс умеет сохранять отчёт о работе, содержащий тот самый список.
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Tue Feb 23, 2010 00:58    Post subject: Reply with quote

В батнике была недоработка. Исправил.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group