Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.04.27;
Скачать: CL | DM;

Вниз

странности FindFirst   Найти похожие ветки 

 
wp2   (2011-12-13 16:45) [0]

задача была найти файлы типа фывфыва001фываывфа
фвафыва002фывафыва
фывафыва003фвыафыва
фывафыва004фывафыва
и т.д.

и соответственно их переименовать по нужному принципу

function AddZero(a: Integer): String;//добавление
передних нулей
var i: Integer;
   s: String;
begin
   s := IntToStr(a);
   for i := 1 to 3 - Length(s) do
   s := "0" + s;
   AddZero := s;  
end;



//основной код
for i := 1 to 118 do
 begin
   Zero := AddZero(i);
   R := FindFirst(Dir + "*" + Zero + "*", faAnyFile, Find);
  //обработка файла
 FindClose(Find);
 end;


Всё работает, но...
вы не поверите, то файлы 004, 014 не находит! Точнее находит но не их! А какой-нибудь 186, например. Переменная R = 0.


 
wp2   (2011-12-13 17:06) [1]

^ не находит файлы с четверками


 
Медвежонок Пятачок ©   (2011-12-13 17:30) [2]

Если r=0 значит находит


 
Dimka Maslov ©   (2011-12-13 18:26) [3]

1. Вместо AddZero для подобных вещей надо пользоваться Format
2. Странно что находит 186 при цикле до 118
3. Раз находит, но не их, значит есть другие файлы с такой маской.
4. Раз находит, но не их, значит надо вызывать FindNext, чтобы найти их.


 
wp2   (2011-12-13 18:34) [4]

попробовал вот так:

for i := 4 to 118 do
 begin
   Zero := AddZero(i);
   R := FindFirst(Dir + "*004*", faAnyFile, Find);


всё равно :)


 
wp2   (2011-12-13 18:38) [5]

добавил строку if Pos("004", Find.Name) = 0 then FindNext(Find);

еще что-то левое нашло)

может это так винда у меня глючит...


 
wp2   (2011-12-13 18:45) [6]

только что заметил, что в Find.FindData.cAlternateFileName правильное найденное имя файла, только в формате 8.3


 
sniknik ©   (2011-12-13 19:06) [7]

программа консольная что ли?


 
wp2   (2011-12-13 19:13) [8]

нет

а какое это имеет значение?


 
sniknik ©   (2011-12-13 19:22) [9]

короткие имена это наследство от дос, близко к консоли.
просто мысль/предположение, а почему оно может искать в коротких именах?


 
wp2   (2011-12-13 20:10) [10]

ну... тут прикол в самой WinAPI структуре TWin32FindData. В неё записывается как длинное имя, так и короткое.

Вот длинное, не то что надо, а короткое норм, только в сжатом формате :(

по сабжу: честно говоря уже начинаю сдаваться, перепробовал всё что мог и придумал. Даже искал с помощью WinAPI функций. Та же проблема.

думал, может файловая система повреждена. Но вроде всё норм.
Думал, может эти тестовые файлы фвафыва002фывафыва и т.д. криво созданы?
но нет, перепробовал разными способами их создавать.

ХЗ!


 
Дмитрий Белькевич   (2011-12-13 20:26) [11]

Дай соответствующую команду dir из командной строки. Может чем-то поможет.


 
MBo ©   (2011-12-13 20:43) [12]

файл "фывфыва014фываывфа" получает короткое имя вроде "фывф~001"

Стоит попробовать FindFirstFileEx и с infolevel разобраться (у меня не открывается описание его значений)


 
sniknik ©   (2011-12-13 21:18) [13]

странно, проверил, не заполняется у меня cAlternateFileName ... не находится по короткому имени поэтому значит... винда XP. D7.


 
sniknik ©   (2011-12-13 21:31) [14]

а, по моему понял/вспомнил на ntfs подобного нет. или нет...?


 
wp2   (2011-12-13 23:31) [15]

значит так:
если почему именно тот случай не работал, так и не понял.
Для примера взял несколько другой пример, например q001q q002q и т.д.

работает.


 
Inovet ©   (2011-12-14 00:07) [16]

> [15] wp2   (13.12.11 23:31)
> Для примера взял несколько другой пример, например

"Для примера, например, возмём такой пример." из ответов на вступительных экзаменах (журнал Квант).


 
Плохиш ©   (2011-12-14 00:48) [17]


> wp2   (13.12.11 16:45)  

Вот эти функции попробуй

{$WARN SYMBOL_PLATFORM OFF}
unit SysUtilsW;

interface

uses
   Windows;
   
type
 TSearchRecW = record
   Time: Integer;
   Size: Integer;
   Attr: Integer;
   Name: WideString;
   ExcludeAttr: Integer;
   FindHandle: THandle  platform;
   FindData: TWin32FindDataW  platform;
 end;

 //  From SysUtils
 LongRec = packed record
   case Integer of
     0: (Lo, Hi: Word);
     1: (Words: array [0..1] of Word);
     2: (Bytes: array [0..3] of Byte);
 end;

const
{ File attribute constants }

 faReadOnly  = $00000001 platform;
 faHidden    = $00000002 platform;
 faSysFile   = $00000004 platform;
 faVolumeID  = $00000008 platform;
 faDirectory = $00000010;
 faArchive   = $00000020 platform;
 faSymLink   = $00000040 platform;
 faAnyFile   = $0000003F;

procedure FindCloseW(var F: TSearchRecW);
function FindFirstW(const Path: WideString; Attr: Integer; var  F: TSearchRecW): Integer;
function FindNextW(var F: TSearchRecW): Integer;
function WideCharToChar(const WCh: WideChar): String;
function WideStringToTranslit(const WString: WideString): String;

implementation

function FindMatchingFileW(var F: TSearchRecW): Integer;
var
 LocalFileTime: TFileTime;
begin
 with F do
 begin
   while FindData.dwFileAttributes and ExcludeAttr <> 0 do
     if not FindNextFileW(FindHandle, FindData) then
     begin
       Result := GetLastError;
       Exit;
     end;
   FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFileTime);
   FileTimeToDosDateTime(LocalFileTime, LongRec(Time).Hi, LongRec(Time).Lo);
   Size := FindData.nFileSizeLow;
   Attr := FindData.dwFileAttributes;
   Name :=  FindData.cFileName;
 end;
 Result := 0;
end;

procedure FindCloseW(var F: TSearchRecW);
begin
 if F.FindHandle <> INVALID_HANDLE_VALUE then
 begin
   Windows.FindClose(F.FindHandle);
   F.FindHandle := INVALID_HANDLE_VALUE;
 end;
end;

function FindFirstW(const Path: WideString; Attr: Integer;
 var  F: TSearchRecW): Integer;
const
 faSpecial = faHidden or faSysFile or faVolumeID or faDirectory;
begin
 F.ExcludeAttr := not Attr and faSpecial;
 F.FindHandle := FindFirstFileW(PWideChar(Path), F.FindData);
 if F.FindHandle <> INVALID_HANDLE_VALUE then
 begin
   Result := FindMatchingFileW(F);
   if Result <> 0 then FindCloseW(F);
 end else
   Result := GetLastError;
end;

function FindNextW(var F: TSearchRecW): Integer;
begin
 if FindNextFileW(F.FindHandle, F.FindData) then
   Result := FindMatchingFileW(F) else
   Result := GetLastError;
end;


 
sniknik ©   (2011-12-14 01:34) [18]

> почему именно тот случай не работал, так и не понял.
см.
MBo ©   (13.12.11 20:43) [12]


 
Германн ©   (2011-12-14 01:35) [19]


> Плохиш ©   (14.12.11 00:48) [17]

Что-то ты сегодня лишком добрый :)


 
sniknik ©   (2011-12-14 01:40) [20]

+ сделай пример с функциями -GetShortFileName/Path, GetLongFileName/Path


 
wp2   (2011-12-14 02:15) [21]


> > [15] wp2   (13.12.11 23:31)> Для примера взял несколько
> другой пример, например "Для примера, например, возмём такой
> пример." из ответов на вступительных экзаменах (журнал Квант).
>

у меня есть проблема, когда я программирую, то не могу и двух слов связать. Мне даже написать на листе бумаги что-то сложно. Потом разобрать не могу)


 
wp2   (2011-12-14 02:18) [22]


> Плохиш ©   (14.12.11 00:48) [17]

это ж всё для Юникода...


 
han_malign   (2011-12-14 17:47) [23]


> это ж всё для Юникода...

- угу, который работает без ограничения MAX_PATH...


 
Плохиш ©   (2011-12-14 19:08) [24]


> Германн ©   (14.12.11 01:35) [19]

Судя по [22] пациент безнадёжен :-)


 
wp2   (2011-12-14 19:51) [25]


> MBo ©   (13.12.11 20:43) [12]
> файл "фывфыва014фываывфа" получает короткое имя вроде "фывф~001"Стоит
> попробовать FindFirstFileEx и с infolevel разобраться (у
> меня не открывается описание его значений)

с параметром FindExInfoStandard всё так же само. С параметром FindExInfoMaxInfoLevel вообще ничего не находит.


 
MBo ©   (2011-12-14 20:10) [26]

а FindExInfoBasic ?


 
wp2   (2011-12-14 20:12) [27]

var Se: WideString;
Search: PWideChar;
R: Integer;
FindData: WIN32_FIND_DATAW;

begin

Zero := "004";
Se := Dir + "*" + Zero + "*";
Search := PWideChar(Se);

R := FindFirstFileW(Search, FindData);

проблема не решилась.


 
wp2   (2011-12-14 20:46) [28]


> MBo ©   (14.12.11 20:10) [26]
> а FindExInfoBasic ?

В Delphi 7 нет такого.

Windows.pas
_FINDEX_INFO_LEVELS = (FindExInfoStandard, FindExInfoMaxInfoLevel);


 
MBo ©   (2011-12-14 21:01) [29]

>В Delphi 7 нет такого.
У, оно вообще с Win7 только введено, тогда отбой."

Видимо, остаётся то, что давно сказали:
>4. Раз находит, но не их, значит надо вызывать FindNext, чтобы найти их.


 
wp2   (2011-12-14 21:11) [30]

у меня ж задача обрабатывать файлы типа asdfasdf001asdfasdf
то есть, они должны идти по очереди (там есть нюансы в обработке). Я конечно могу использовать FindNext, но я ж не знаю, какой оно файл найдёт. Придётся присать огромный case...
Ясно видно, что маска *число* не всегда работает.

#include<windows.h>
#include<stdio.h>

void main(void)
{
WIN32_FIND_DATA FindData;
HANDLE h;
char *name, *Search;

name = (char *)malloc(100);
Search = (char *)malloc(100);

printf("path = "); scanf("%s", name);

strcpy(Search, "*004*");

h = FindFirstFile(strcat(name, Search), &FindData);

printf("h = %i\n", h);
printf("%s", FindData.cFileName);
}

выводит:

path = C:\a\
h=1319168
asdfasdf185asdfasdf


пока отбой. Будем считать проблему не решенной.


 
wp2   (2011-12-14 21:18) [31]

[I]>значит надо вызывать FindNext, чтобы найти их.[/I]
можно конечно, если не тот результат, то зациклить FindNext до выдачи нужного. Но, у меня 200 файлов, если я каждый из них буду так искать, то количество поисков будет максимум 200х200. Весело :)


 
MBo ©   (2011-12-14 21:23) [32]

>если я каждый из них буду так искать, то количество поисков будет максимум 200х200.

Другой путь - перебрать все файлы, переименовать каждый, подлежащий переименованию, как надо


 
wp2   (2011-12-14 21:48) [33]

была и такая идея)
тогда уже bat-файл лучше написать :)

эх, если бы кто-то сам у себя на компе попробовал... Исходник на С языке я дал. Осталось только написать прогу, создающую файлы asdfasdf001asdfasdf...asdfasdf238asdfasdf


 
sniknik ©   (2011-12-14 22:35) [34]

> эх, если бы кто-то сам у себя на компе попробовал...
sniknik ©   (13.12.11 21:18) [13]
> странно, проверил, не заполняется у меня cAlternateFileName ... не находится по короткому имени поэтому значит... винда XP. D7.
sniknik ©   (13.12.11 21:31) [14]
> а, по моему понял/вспомнил на ntfs подобного нет. или нет...?


 
wp2   (2011-12-14 22:37) [35]

всё таки Винда виновата?

у меня win2003server (так, от нечего делать поставил).


 
Anatoly Podgoretsky ©   (2011-12-14 22:37) [36]


>  Но, у меня 200 файлов, если я каждый из них буду так искать,
>  то количество поисков будет максимум 200х200. Весело :)

А умные загоняют их в сортированый список, например StringList, и 200х200 может превратиться в 200


 
Anatoly Podgoretsky ©   (2011-12-14 22:38) [37]


> Исходник на С языке я дал.

Cи обсуждаем в Общей, а здесь Дельфи.


 
wp2   (2011-12-14 23:19) [38]


> А умные загоняют их в сортированый список, например StringList,
>  и 200х200 может превратиться в 200

а кстати, хорошая идея.

где ж ты раньше был :)


 
wp2   (2011-12-15 00:40) [39]

всем спасибо (особенно Anatoly Podgoretsky). Сделал через TStringList.


 
Германн ©   (2011-12-15 01:32) [40]


> wp2   (15.12.11 00:40) [39]
>
> всем спасибо (особенно Anatoly Podgoretsky). Сделал через
> TStringList.
>

Не знаю "к селу или к городу" моё высказывание. Но ещё во времена Turbo Pascal"я  понял, что нельзя внутри блока FindFirst-FindNext-FindClose изменять файлы. Файлы "перезаписываются" и работа FindNext сбивается.


 
wp2   (2011-12-15 02:42) [41]

нет, я ж там упростил код. Там даже переименования не было.
один единственный поиск файла по маске *004*

зы. интересно, а Total Commander"у удаётся найти файл :) Хотя, не исключено, что он ищет по маске *.*, а потом выбирает нужный своими силами.


 
wp2   (2011-12-15 03:02) [42]

кстати, консоль на маску *004* выдаёт аж 4 файла)


 
Anatoly Podgoretsky ©   (2011-12-15 09:46) [43]

> wp2  (15.12.2011 03:02:42)  [42]

Приведи вывод команды DIR /X /A


 
wp2   (2011-12-15 13:53) [44]

C:\a>dir /X /A
Том в устройстве C не имеет метки.
Серийный номер тома: 6895-F910

Содержимое папки C:\a

15.12.2011  01:01    <DIR>                       .
15.12.2011  01:01    <DIR>                       ..
15.12.2011  01:01                 1 ASDFAS~1     asdfasdf001asdfasdf
15.12.2011  01:01                 1 ASDFAS~2     asdfasdf002asdfasdf
15.12.2011  01:01                 1 ASDFAS~3     asdfasdf003asdfasdf
15.12.2011  01:01                 1 ASDFAS~4     asdfasdf004asdfasdf
15.12.2011  01:01                 1 AS7F3F~1     asdfasdf005asdfasdf
15.12.2011  01:01                 1 AS704F~1     asdfasdf006asdfasdf
15.12.2011  01:01                 1 AS714F~1     asdfasdf007asdfasdf
15.12.2011  01:01                 1 AS724F~1     asdfasdf008asdfasdf
15.12.2011  01:01                 1 AS734F~1     asdfasdf009asdfasdf
15.12.2011  01:01                 1 AS7AB1~1     asdfasdf010asdfasdf
15.12.2011  01:01                 1 AS7BB1~1     asdfasdf011asdfasdf
15.12.2011  01:01                 1 AS7CB1~1     asdfasdf012asdfasdf
15.12.2011  01:01                 1 AS7DB1~1     asdfasdf013asdfasdf
15.12.2011  01:01                 1 AS7EB1~1     asdfasdf014asdfasdf
15.12.2011  01:01                 1 AS7FB1~1     asdfasdf015asdfasdf
15.12.2011  01:01                 1 AS70C1~1     asdfasdf016asdfasdf
15.12.2011  01:01                 1 AS71C1~1     asdfasdf017asdfasdf
15.12.2011  01:01                 1 AS72C1~1     asdfasdf018asdfasdf
15.12.2011  01:01                 1 AS73C1~1     asdfasdf019asdfasdf
15.12.2011  01:01                 1 AS7A36~1     asdfasdf020asdfasdf
15.12.2011  01:01                 1 AS7B36~1     asdfasdf021asdfasdf
15.12.2011  01:01                 1 AS7C36~1     asdfasdf022asdfasdf
15.12.2011  01:01                 1 AS7D36~1     asdfasdf023asdfasdf
15.12.2011  01:01                 1 AS7E36~1     asdfasdf024asdfasdf
15.12.2011  01:01                 1 AS7F36~1     asdfasdf025asdfasdf

привёл не всё.

а вот:
C:\a>dir *004*
Том в устройстве C не имеет метки.
Серийный номер тома: 6895-F910

Содержимое папки C:\a

15.12.2011  01:01                 1 asdfasdf185asdfasdf
15.12.2011  01:01                 1 asdfasdf165asdfasdf
15.12.2011  01:01                 1 asdfasdf145asdfasdf
15.12.2011  01:01                 1 asdfasdf004asdfasdf
              4 файлов              4 байт
              0 папок   2 239 713 280 байт свободно


 
DiamondShark ©   (2011-12-15 14:14) [45]


> sniknik ©   (13.12.11 19:06) [7]
> программа консольная что ли?
> sniknik ©   (13.12.11 19:22) [9]
> короткие имена это наследство от дос, близко к консоли.

Вот и знахари пожаловали.


> а почему оно может искать в коротких именах?

По определению.


> а вот:
C:\a>dir *004*

Ты самое интересное скрыл от общественности.

004 у тебя в коротких именах.


 
Anatoly Podgoretsky ©   (2011-12-15 14:18) [46]


> привёл не всё.

Ну и какая тогда польза, применять надо с указаной маской


 
wp2   (2011-12-15 15:53) [47]

сори. хотел место сэкономить. Да еще и ограничение на размер сообщения.

C:\a>dir /X /A
Том в устройстве C не имеет метки.
Серийный номер тома: 6895-F910

Содержимое папки C:\a

15.12.2011  01:01    <DIR>                       .
15.12.2011  01:01    <DIR>                       ..
15.12.2011  01:01                 1 ASDFAS~1     asdfasdf001asdfasdf
15.12.2011  01:01                 1 ASDFAS~2     asdfasdf002asdfasdf
15.12.2011  01:01                 1 ASDFAS~3     asdfasdf003asdfasdf
15.12.2011  01:01                 1 ASDFAS~4     asdfasdf004asdfasdf
15.12.2011  01:01                 1 AS7F3F~1     asdfasdf005asdfasdf
15.12.2011  01:01                 1 AS704F~1     asdfasdf006asdfasdf
15.12.2011  01:01                 1 AS714F~1     asdfasdf007asdfasdf
15.12.2011  01:01                 1 AS724F~1     asdfasdf008asdfasdf
15.12.2011  01:01                 1 AS734F~1     asdfasdf009asdfasdf
15.12.2011  01:01                 1 AS7AB1~1     asdfasdf010asdfasdf
15.12.2011  01:01                 1 AS7BB1~1     asdfasdf011asdfasdf
15.12.2011  01:01                 1 AS7CB1~1     asdfasdf012asdfasdf
15.12.2011  01:01                 1 AS7DB1~1     asdfasdf013asdfasdf
15.12.2011  01:01                 1 AS7EB1~1     asdfasdf014asdfasdf
15.12.2011  01:01                 1 AS7FB1~1     asdfasdf015asdfasdf
15.12.2011  01:01                 1 AS70C1~1     asdfasdf016asdfasdf
15.12.2011  01:01                 1 AS71C1~1     asdfasdf017asdfasdf
15.12.2011  01:01                 1 AS72C1~1     asdfasdf018asdfasdf
15.12.2011  01:01                 1 AS73C1~1     asdfasdf019asdfasdf
15.12.2011  01:01                 1 AS7A36~1     asdfasdf020asdfasdf
15.12.2011  01:01                 1 AS7B36~1     asdfasdf021asdfasdf
15.12.2011  01:01                 1 AS7C36~1     asdfasdf022asdfasdf
15.12.2011  01:01                 1 AS7D36~1     asdfasdf023asdfasdf
15.12.2011  01:01                 1 AS7E36~1     asdfasdf024asdfasdf
15.12.2011  01:01                 1 AS7F36~1     asdfasdf025asdfasdf
15.12.2011  01:01                 1 AS7046~1     asdfasdf026asdfasdf
15.12.2011  01:01                 1 AS7146~1     asdfasdf027asdfasdf
15.12.2011  01:01                 1 AS7246~1     asdfasdf028asdfasdf
15.12.2011  01:01                 1 AS7346~1     asdfasdf029asdfasdf
15.12.2011  01:01                 1 AS8ABC~1     asdfasdf030asdfasdf
15.12.2011  01:01                 1 AS8BBC~1     asdfasdf031asdfasdf
15.12.2011  01:01                 1 AS8CBC~1     asdfasdf032asdfasdf
15.12.2011  01:01                 1 AS8DBC~1     asdfasdf033asdfasdf
15.12.2011  01:01                 1 AS8EBC~1     asdfasdf034asdfasdf
15.12.2011  01:01                 1 AS8FBC~1     asdfasdf035asdfasdf
15.12.2011  01:01                 1 AS80CC~1     asdfasdf036asdfasdf
15.12.2011  01:01                 1 AS81CC~1     asdfasdf037asdfasdf
15.12.2011  01:01                 1 AS82CC~1     asdfasdf038asdfasdf
15.12.2011  01:01                 1 AS83CC~1     asdfasdf039asdfasdf
15.12.2011  01:01                 1 AS8A3D~1     asdfasdf040asdfasdf
15.12.2011  01:01                 1 AS8B3D~1     asdfasdf041asdfasdf
15.12.2011  01:01                 1 AS8C3D~1     asdfasdf042asdfasdf
15.12.2011  01:01                 1 AS8D3D~1     asdfasdf043asdfasdf
15.12.2011  01:01                 1 AS8E3D~1     asdfasdf044asdfasdf
15.12.2011  01:01                 1 AS8F3D~1     asdfasdf045asdfasdf
15.12.2011  01:01                 1 AS804D~1     asdfasdf046asdfasdf
15.12.2011  01:01                 1 AS814D~1     asdfasdf047asdfasdf
15.12.2011  01:01                 1 AS824D~1     asdfasdf048asdfasdf
15.12.2011  01:01                 1 AS834D~1     asdfasdf049asdfasdf
15.12.2011  01:01                 1 AS8ABB~1     asdfasdf050asdfasdf
15.12.2011  01:01                 1 AS8BBB~1     asdfasdf051asdfasdf
15.12.2011  01:01                 1 AS8CBB~1     asdfasdf052asdfasdf
15.12.2011  01:01                 1 AS8DBB~1     asdfasdf053asdfasdf
15.12.2011  01:01                 1 AS8EBB~1     asdfasdf054asdfasdf
15.12.2011  01:01                 1 AS8FBB~1     asdfasdf055asdfasdf
15.12.2011  01:01                 1 AS80CB~1     asdfasdf056asdfasdf
15.12.2011  01:01                 1 AS81CB~1     asdfasdf057asdfasdf
15.12.2011  01:01                 1 AS82CB~1     asdfasdf058asdfasdf
15.12.2011  01:01                 1 AS83CB~1     asdfasdf059asdfasdf
15.12.2011  01:01                 1 AS8A3C~1     asdfasdf060asdfasdf
15.12.2011  01:01                 1 AS8B3C~1     asdfasdf061asdfasdf
15.12.2011  01:01                 1 AS8C3C~1     asdfasdf062asdfasdf
15.12.2011  01:01                 1 AS8D3C~1     asdfasdf063asdfasdf
15.12.2011  01:01                 1 AS8E3C~1     asdfasdf064asdfasdf
15.12.2011  01:01                 1 AS8F3C~1     asdfasdf065asdfasdf
15.12.2011  01:01                 1 AS804C~1     asdfasdf066asdfasdf
15.12.2011  01:01                 1 AS814C~1     asdfasdf067asdfasdf
15.12.2011  01:01                 1 AS824C~1     asdfasdf068asdfasdf
15.12.2011  01:01                 1 AS834C~1     asdfasdf069asdfasdf
15.12.2011  01:01                 1 AS8ABA~1     asdfasdf070asdfasdf
15.12.2011  01:01                 1 AS8BBA~1     asdfasdf071asdfasdf
15.12.2011  01:01                 1 AS8CBA~1     asdfasdf072asdfasdf
15.12.2011  01:01                 1 AS8DBA~1     asdfasdf073asdfasdf
15.12.2011  01:01                 1 AS8EBA~1     asdfasdf074asdfasdf
15.12.2011  01:01                 1 AS8FBA~1     asdfasdf075asdfasdf
15.12.2011  01:01                 1 AS80CA~1     asdfasdf076asdfasdf
15.12.2011  01:01                 1 AS81CA~1     asdfasdf077asdfasdf


 
wp2   (2011-12-15 15:54) [48]

15.12.2011  01:01                 1 AS82CA~1     asdfasdf078asdfasdf
15.12.2011  01:01                 1 AS83CA~1     asdfasdf079asdfasdf
15.12.2011  01:01                 1 AS8A3B~1     asdfasdf080asdfasdf
15.12.2011  01:01                 1 AS8B3B~1     asdfasdf081asdfasdf
15.12.2011  01:01                 1 AS8C3B~1     asdfasdf082asdfasdf
15.12.2011  01:01                 1 AS8D3B~1     asdfasdf083asdfasdf
15.12.2011  01:01                 1 AS8E3B~1     asdfasdf084asdfasdf
15.12.2011  01:01                 1 AS8F3B~1     asdfasdf085asdfasdf
15.12.2011  01:01                 1 AS804B~1     asdfasdf086asdfasdf
15.12.2011  01:01                 1 AS814B~1     asdfasdf087asdfasdf
15.12.2011  01:01                 1 AS824B~1     asdfasdf088asdfasdf
15.12.2011  01:01                 1 AS834B~1     asdfasdf089asdfasdf
15.12.2011  01:01                 1 AS8ABD~1     asdfasdf090asdfasdf
15.12.2011  01:01                 1 AS8BBD~1     asdfasdf091asdfasdf
15.12.2011  01:01                 1 AS8CBD~1     asdfasdf092asdfasdf
15.12.2011  01:01                 1 AS8DBD~1     asdfasdf093asdfasdf
15.12.2011  01:01                 1 AS8EBD~1     asdfasdf094asdfasdf
15.12.2011  01:01                 1 AS8FBD~1     asdfasdf095asdfasdf
15.12.2011  01:01                 1 AS80CD~1     asdfasdf096asdfasdf
15.12.2011  01:01                 1 AS81CD~1     asdfasdf097asdfasdf
15.12.2011  01:01                 1 AS82CD~1     asdfasdf098asdfasdf
15.12.2011  01:01                 1 AS83CD~1     asdfasdf099asdfasdf
15.12.2011  01:01                 1 ASFA3F~1     asdfasdf100asdfasdf
15.12.2011  01:01                 1 ASFB3F~1     asdfasdf101asdfasdf
15.12.2011  01:01                 1 ASFC3F~1     asdfasdf102asdfasdf
15.12.2011  01:01                 1 ASFD3F~1     asdfasdf103asdfasdf
15.12.2011  01:01                 1 ASFE3F~1     asdfasdf104asdfasdf
15.12.2011  01:01                 1 ASFF3F~1     asdfasdf105asdfasdf
15.12.2011  01:01                 1 ASF04F~1     asdfasdf106asdfasdf
15.12.2011  01:01                 1 ASF14F~1     asdfasdf107asdfasdf
15.12.2011  01:01                 1 ASF24F~1     asdfasdf108asdfasdf
15.12.2011  01:01                 1 ASF34F~1     asdfasdf109asdfasdf
15.12.2011  01:01                 1 ASFAB1~1     asdfasdf110asdfasdf
15.12.2011  01:01                 1 ASFBB1~1     asdfasdf111asdfasdf
15.12.2011  01:01                 1 ASFCB1~1     asdfasdf112asdfasdf
15.12.2011  01:01                 1 ASFDB1~1     asdfasdf113asdfasdf
15.12.2011  01:01                 1 ASFEB1~1     asdfasdf114asdfasdf
15.12.2011  01:01                 1 ASFFB1~1     asdfasdf115asdfasdf
15.12.2011  01:01                 1 ASF0C1~1     asdfasdf116asdfasdf
15.12.2011  01:01                 1 ASF1C1~1     asdfasdf117asdfasdf
15.12.2011  01:01                 1 ASF2C1~1     asdfasdf118asdfasdf
15.12.2011  01:01                 1 ASF3C1~1     asdfasdf119asdfasdf
15.12.2011  01:01                 1 ASFA36~1     asdfasdf120asdfasdf
15.12.2011  01:01                 1 ASFB36~1     asdfasdf121asdfasdf
15.12.2011  01:01                 1 ASFC36~1     asdfasdf122asdfasdf
15.12.2011  01:01                 1 ASFD36~1     asdfasdf123asdfasdf
15.12.2011  01:01                 1 ASFE36~1     asdfasdf124asdfasdf
15.12.2011  01:01                 1 ASFF36~1     asdfasdf125asdfasdf
15.12.2011  01:01                 1 ASF046~1     asdfasdf126asdfasdf
15.12.2011  01:01                 1 ASF146~1     asdfasdf127asdfasdf
15.12.2011  01:01                 1 ASF246~1     asdfasdf128asdfasdf
15.12.2011  01:01                 1 ASF346~1     asdfasdf129asdfasdf
15.12.2011  01:01                 1 AS0BBC~1     asdfasdf130asdfasdf
15.12.2011  01:01                 1 AS0CBC~1     asdfasdf131asdfasdf
15.12.2011  01:01                 1 AS0DBC~1     asdfasdf132asdfasdf
15.12.2011  01:01                 1 AS0EBC~1     asdfasdf133asdfasdf
15.12.2011  01:01                 1 AS0FBC~1     asdfasdf134asdfasdf
15.12.2011  01:01                 1 AS00CC~1     asdfasdf135asdfasdf
15.12.2011  01:01                 1 AS01CC~1     asdfasdf136asdfasdf
15.12.2011  01:01                 1 AS02CC~1     asdfasdf137asdfasdf
15.12.2011  01:01                 1 AS03CC~1     asdfasdf138asdfasdf
15.12.2011  01:01                 1 AS04CC~1     asdfasdf139asdfasdf
15.12.2011  01:01                 1 AS0B3D~1     asdfasdf140asdfasdf
15.12.2011  01:01                 1 AS0C3D~1     asdfasdf141asdfasdf
15.12.2011  01:01                 1 AS0D3D~1     asdfasdf142asdfasdf
15.12.2011  01:01                 1 AS0E3D~1     asdfasdf143asdfasdf
15.12.2011  01:01                 1 AS0F3D~1     asdfasdf144asdfasdf
15.12.2011  01:01                 1 AS004D~1     asdfasdf145asdfasdf
15.12.2011  01:01                 1 AS014D~1     asdfasdf146asdfasdf
15.12.2011  01:01                 1 AS024D~1     asdfasdf147asdfasdf
15.12.2011  01:01                 1 AS034D~1     asdfasdf148asdfasdf
15.12.2011  01:01                 1 AS044D~1     asdfasdf149asdfasdf
15.12.2011  01:01                 1 AS0BBB~1     asdfasdf150asdfasdf
15.12.2011  01:01                 1 AS0CBB~1     asdfasdf151asdfasdf
15.12.2011  01:01                 1 AS0DBB~1     asdfasdf152asdfasdf


 
wp2   (2011-12-15 15:54) [49]

15.12.2011  01:01                 1 AS0EBB~1     asdfasdf153asdfasdf
15.12.2011  01:01                 1 AS0FBB~1     asdfasdf154asdfasdf
15.12.2011  01:01                 1 AS00CB~1     asdfasdf155asdfasdf
15.12.2011  01:01                 1 AS01CB~1     asdfasdf156asdfasdf
15.12.2011  01:01                 1 AS02CB~1     asdfasdf157asdfasdf
15.12.2011  01:01                 1 AS03CB~1     asdfasdf158asdfasdf
15.12.2011  01:01                 1 AS04CB~1     asdfasdf159asdfasdf
15.12.2011  01:01                 1 AS0B3C~1     asdfasdf160asdfasdf
15.12.2011  01:01                 1 AS0C3C~1     asdfasdf161asdfasdf
15.12.2011  01:01                 1 AS0D3C~1     asdfasdf162asdfasdf
15.12.2011  01:01                 1 AS0E3C~1     asdfasdf163asdfasdf
15.12.2011  01:01                 1 AS0F3C~1     asdfasdf164asdfasdf
15.12.2011  01:01                 1 AS004C~1     asdfasdf165asdfasdf
15.12.2011  01:01                 1 AS014C~1     asdfasdf166asdfasdf
15.12.2011  01:01                 1 AS024C~1     asdfasdf167asdfasdf
15.12.2011  01:01                 1 AS034C~1     asdfasdf168asdfasdf
15.12.2011  01:01                 1 AS044C~1     asdfasdf169asdfasdf
15.12.2011  01:01                 1 AS0BBA~1     asdfasdf170asdfasdf
15.12.2011  01:01                 1 AS0CBA~1     asdfasdf171asdfasdf
15.12.2011  01:01                 1 AS0DBA~1     asdfasdf172asdfasdf
15.12.2011  01:01                 1 AS0EBA~1     asdfasdf173asdfasdf
15.12.2011  01:01                 1 AS0FBA~1     asdfasdf174asdfasdf
15.12.2011  01:01                 1 AS00CA~1     asdfasdf175asdfasdf
15.12.2011  01:01                 1 AS01CA~1     asdfasdf176asdfasdf
15.12.2011  01:01                 1 AS02CA~1     asdfasdf177asdfasdf
15.12.2011  01:01                 1 AS03CA~1     asdfasdf178asdfasdf
15.12.2011  01:01                 1 AS04CA~1     asdfasdf179asdfasdf
15.12.2011  01:01                 1 AS0B3B~1     asdfasdf180asdfasdf
15.12.2011  01:01                 1 AS0C3B~1     asdfasdf181asdfasdf
15.12.2011  01:01                 1 AS0D3B~1     asdfasdf182asdfasdf
15.12.2011  01:01                 1 AS0E3B~1     asdfasdf183asdfasdf
15.12.2011  01:01                 1 AS0F3B~1     asdfasdf184asdfasdf
15.12.2011  01:01                 1 AS004B~1     asdfasdf185asdfasdf
15.12.2011  01:01                 1 AS014B~1     asdfasdf186asdfasdf
15.12.2011  01:01                 1 AS024B~1     asdfasdf187asdfasdf
15.12.2011  01:01                 1 AS034B~1     asdfasdf188asdfasdf
15.12.2011  01:01                 1 AS044B~1     asdfasdf189asdfasdf
15.12.2011  01:01                 1 AS0BBD~1     asdfasdf190asdfasdf
15.12.2011  01:01                 1 AS0CBD~1     asdfasdf191asdfasdf
15.12.2011  01:01                 1 AS0DBD~1     asdfasdf192asdfasdf
15.12.2011  01:01                 1 AS0EBD~1     asdfasdf193asdfasdf
15.12.2011  01:01                 1 AS0FBD~1     asdfasdf194asdfasdf
15.12.2011  01:01                 1 AS00CD~1     asdfasdf195asdfasdf
15.12.2011  01:01                 1 AS01CD~1     asdfasdf196asdfasdf
15.12.2011  01:01                 1 AS02CD~1     asdfasdf197asdfasdf
15.12.2011  01:01                 1 AS03CD~1     asdfasdf198asdfasdf
15.12.2011  01:01                 1 AS04CD~1     asdfasdf199asdfasdf
15.12.2011  01:01                 1 AS7B3F~1     asdfasdf200asdfasdf
15.12.2011  01:01                 1 AS7C3F~1     asdfasdf201asdfasdf
15.12.2011  01:01                 1 AS7D3F~1     asdfasdf202asdfasdf
15.12.2011  01:01                 1 AS7E3F~1     asdfasdf203asdfasdf
15.12.2011  01:01                 1 AS7F3F~2     asdfasdf204asdfasdf
15.12.2011  01:01                 1 AS704F~2     asdfasdf205asdfasdf
15.12.2011  01:01                 1 AS714F~2     asdfasdf206asdfasdf
15.12.2011  01:01                 1 AS724F~2     asdfasdf207asdfasdf
15.12.2011  01:01                 1 AS734F~2     asdfasdf208asdfasdf
15.12.2011  01:01                 1 AS744F~1     asdfasdf209asdfasdf
15.12.2011  01:01                 1 AS7BB1~2     asdfasdf210asdfasdf
15.12.2011  01:01                 1 AS7CB1~2     asdfasdf211asdfasdf
15.12.2011  01:01                 1 AS7DB1~2     asdfasdf212asdfasdf
15.12.2011  01:01                 1 AS7EB1~2     asdfasdf213asdfasdf
15.12.2011  01:01                 1 AS7FB1~2     asdfasdf214asdfasdf
15.12.2011  01:01                 1 AS70C1~2     asdfasdf215asdfasdf
15.12.2011  01:01                 1 AS71C1~2     asdfasdf216asdfasdf
15.12.2011  01:01                 1 AS72C1~2     asdfasdf217asdfasdf
15.12.2011  01:01                 1 AS73C1~2     asdfasdf218asdfasdf
15.12.2011  01:01                 1 AS74C1~1     asdfasdf219asdfasdf
15.12.2011  01:01                 1 AS7B36~2     asdfasdf220asdfasdf
15.12.2011  01:01                 1 AS7C36~2     asdfasdf221asdfasdf
15.12.2011  01:01                 1 AS7D36~2     asdfasdf222asdfasdf
15.12.2011  01:01                 1 AS7E36~2     asdfasdf223asdfasdf
15.12.2011  01:01                 1 AS7F36~2     asdfasdf224asdfasdf
15.12.2011  01:01                 1 AS7046~2     asdfasdf225asdfasdf
15.12.2011  01:01                 1 AS7146~2     asdfasdf226asdfasdf
15.12.2011  01:01                 1 AS7246~2     asdfasdf227asdfasdf
15.12.2011  01:01                 1 AS7346~2     asdfasdf228asdfasdf
15.12.2011  01:01                 1 AS7446~1     asdfasdf229asdfasdf
15.12.2011  01:01                 1 AS8BBC~2     asdfasdf230asdfasdf
15.12.2011  01:01                 1 AS8CBC~2     asdfasdf231asdfasdf
15.12.2011  01:01                 1 AS8DBC~2     asdfasdf232asdfasdf
15.12.2011  01:01                 1 AS8EBC~2     asdfasdf233asdfasdf
15.12.2011  01:01                 1 AS8FBC~2     asdfasdf234asdfasdf
15.12.2011  01:01                 1 AS80CC~2     asdfasdf235asdfasdf
15.12.2011  01:01                 1 AS81CC~2     asdfasdf236asdfasdf
15.12.2011  01:01                 1 AS82CC~2     asdfasdf237asdfasdf
15.12.2011  01:01                 1 AS83CC~2     asdfasdf238asdfasdf
            238 файлов            238 байт
              2 папок   2 239 139 840 байт свободно

а действительно.
185, 165, 145 содержат 004. И как это понять? Поиск ведётся по старорежимным именам?


 
Anatoly Podgoretsky ©   (2011-12-15 16:02) [50]

> wp2  (15.12.2011 15:53:47)  [47]

Где маска?


 
wp2   (2011-12-15 19:33) [51]

C:\a>dir /X /A *004*
Том в устройстве C не имеет метки.
Серийный номер тома: 6895-F910

Содержимое папки C:\a

15.12.2011  01:01                 1 AS004B~1     asdfasdf185asdfasdf
15.12.2011  01:01                 1 AS004C~1     asdfasdf165asdfasdf
15.12.2011  01:01                 1 AS004D~1     asdfasdf145asdfasdf
15.12.2011  01:01                 1 ASDFAS~4     asdfasdf004asdfasdf
              4 файлов              4 байт
              0 папок   2 261 397 504 байт свободно


это?


 
wp2   (2011-12-15 19:44) [52]

получается, что при поиск идёт и в полных именах, и в сокращенных.


 
Anatoly Podgoretsky ©   (2011-12-15 20:01) [53]

> wp2  (15.12.2011 19:33:51)  [51]

Вот теперь нормально. Четыре файла три по корокому имени, один по длинному.


 
Anatoly Podgoretsky ©   (2011-12-15 20:03) [54]

Конечно, нет отдельного выбора искать только по одному имени. Сделай маску длиннее 8 символов, поиск будет только по длинному, точнее по обеим именам, но по короткому ничего не найдет.


 
QAZ   (2011-12-18 20:47) [55]

работа с короткими именами не имеет смысла уже лет 10 если не больше
и связано это с появление мифа о том что отключение генерации коротких имен через реестр
увеличивает производительность винды :)
с тех пор это одна из обязательных опций во всяких "чистилках реестра" и "оптимизаторов винды"
ну а с учетом что эту хрень можно найти на 8 из 10 компов сам понимаеш...



Страницы: 1 2 вся ветка

Текущий архив: 2014.04.27;
Скачать: CL | DM;

Наверх




Память: 0.68 MB
Время: 0.007 c
1-1323780356
wp2
2011-12-13 16:45
2014.04.27
странности FindFirst


2-1374264972
Vasa777
2013-07-20 00:16
2014.04.27
pbyte


2-1374074284
Valdis
2013-07-17 19:18
2014.04.27
access violation при работе с потоками


3-1297252094
Гость
2011-02-09 14:48
2014.04.27
Подскажите как получить таблицу-матрицу запросом в MSSQL


1-1314088912
malphunction
2011-08-23 12:41
2014.04.27
[Delphi XE] Дочерняя форма НЕ активизировала родительское окно