Маски файлов: правила отбора для "?"

Хотите говорить о Far и не знаете, куда обратиться?
User avatar
NeXT
Posts: 35
Joined: Thu 12 Nov, 2009 00:43
Location: Novosibirsk, Russia

Re: Маски файлов: правила отбора

Post by NeXT »

Latest post of the previous page:

Я, может, чего-то не понял 8)

Code: Select all

C:\Bin>dir *.doc?
 Volume in drive C is Win7
 Volume Serial Number is 143A-B6EE

 Directory of C:\Bin

07.01.2010  23:29                 4 test.doc
07.01.2010  23:29                 4 test.docx
               2 File(s)              8 bytes
               0 Dir(s)   8 901 632 000 bytes free

C:\Bin>
User avatar
SlashNet
Posts: 638
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 16 times
Been thanked: 16 times

Маски файлов: правила отбора

Post by SlashNet »

У них тот же прикол уже давно и с HTM. И не только…



Примечание модератора
Why does FindFirstFile find short names?
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ
pbot
Posts: 46
Joined: Sun 21 Jan, 2007 17:27
Location: спб

Re: Маски файлов: правила отбора

Post by pbot »

мне казалось (в нете подтверждения сейчас не смог найти), что -
в win9x и ранее: ? - любой символ или его отсутствие
в winnt и позднее: ? - любой символ только

забавно, google на запрос "маски файлов" выдает ресурс http://api.farmanager.com/ru/filemasks.html

--------------------------------------------
вот еще порылся в историч литературе:



а в современном cmd маски возможно применяются только в середине имен

конце имени - не учитываются
Attachments
figurnov2.jpg
figurnov2.jpg (36.8 KiB) Viewed 5707 times
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Маски файлов: правила отбора

Post by DrKnS »

SlashNet wrote:У них тот же прикол уже давно и с HTM. И не только…
Вообще-то этот дебилизм отключается:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"Win95TruncatedExtensions"=dword:00000000
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Маски файлов: правила отбора для "?"

Post by John Doe »

Centaur wrote: Исторически было вот так.
Перечитал. В частности:
...But some quirks of the FCB matching algorithm persist into Win32 because they have become idiom.

For example, if your pattern ends in .*, the .* is ignored. Without this rule, the pattern *.* would match only files that contained a dot, which would break probably 90% of all the batch files on the planet, as well as everybody's muscle memory, since everybody running Windows NT 3.1 grew up in a world where *.* meant all files.
As another example, a pattern that ends in a dot doesn't actually match files which end in a dot; it matches files with no extension. And a question mark can match zero characters if it comes immediately before a dot.
В двух словах: некоторые особенности использования масок, использовавшиеся со времён MS DOS (и даже ранее) намеренно воспроизводятся в современных ОС от Microsoft потому, что стали идиомами. Например:
*.* находит все файлы, в том числе без расширения и без точки.
*. находит файлы без расширения.
a?.b? находит среди прочего и файл a.b

Нетрудно убедиться, что в первых двух случаях фар трактует маски аналогично, но не в третьем.

Если фар поддерживает другие "выверты", то почему не этот?

Или наоборот, для консистентности стоит убрать и *.*, и *.?
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Маски файлов: правила отбора для "?"

Post by John Doe »

User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Маски файлов: правила отбора для "?"

Post by zg »

давно у нас фар стал в kernel mode работать?
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Маски файлов: правила отбора для "?"

Post by John Doe »

По ссылке другое интересно: используется 5 символов-масок
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Маски файлов: правила отбора для "?"

Post by John Doe »

Но если кому интересно, то есть ещё и такие функции SymMatchString, PathMatchSpec, и ещё где-то хвалили функцию из samba: ms_fnmatch.c.

P.S.
Уточню: я не предлагаю ничего из этого использовать в фаре.
Post Reply

Return to “Обсуждение Far Manager”