powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
25 сообщений из 42, страница 1 из 2
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010808
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И снова здравствуйте)

Уже вопрос ранее проскакивал тут, хочу спросить по альтернативным решениям.

Есть ли у обычной папки какой либо системный idшник при создании, за который можно зацепиться из VBA и который не зависит от постоянного переименовывания файла итд итп?

1) Есть вариант привязки по дате создания файла, его я знаю.

2) Есть ли альтернативные варианты?
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010811
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов
Есть ли у обычной папки какой либо системный idшник при создании, за который можно зацепиться из VBA и который не зависит от постоянного переименовывания файла итд итп?

а имя папки чем не подходит?
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010815
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Капай в сторону NTFS (указатели)
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010822
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов
Есть ли у обычной папки какой либо системный idшник при создании, за который можно зацепиться из VBA и который не зависит от постоянного переименовывания файла итд итп?

можно, программно, установить папке "файловый" атрибут Archive (он никак на свойства папки не влияет),
и, потом, находить эту папку по установленному этому атрибуту
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010849
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court
Сергей Лалов
Есть ли у обычной папки какой либо системный idшник при создании, за который можно зацепиться из VBA и который не зависит от постоянного переименовывания файла итд итп?

можно, программно, установить папке "файловый" атрибут Archive (он никак на свойства папки не влияет),
и, потом, находить эту папку по установленному этому атрибуту

Это как?
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010861
Прогер_самоучка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court
Сергей Лалов
Есть ли у обычной папки какой либо системный idшник при создании, за который можно зацепиться из VBA и который не зависит от постоянного переименовывания файла итд итп?

можно, программно, установить папке "файловый" атрибут Archive (он никак на свойства папки не влияет),
и, потом, находить эту папку по установленному этому атрибуту
а ежели папок много? :)
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010862
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI
court
пропущено...

можно, программно, установить папке "файловый" атрибут Archive (он никак на свойства папки не влияет),
и, потом, находить эту папку по установленному этому атрибуту

Это как?

как-то так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Sub test()
    Dim f As Object
    
    With CreateObject("Scripting.FileSystemObject")
        Set f = .GetFolder("D:\temp\test")
        Debug.Print f.Attributes
        f.Attributes = f.Attributes + 32
        Debug.Print f.Attributes
        Set f = Nothing
    End With
    
    With CreateObject("Scripting.FileSystemObject")
        For Each f In .GetFolder("D:\temp").SubFolders
            If f.Attributes And 32 Then Debug.Print f.Path
        Next
    End With
    
End Sub


Код: vbnet
1.
2.
3.
16 
48 
D:\temp\test
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010863
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прогер_самоучка
court
пропущено...

можно, программно, установить папке "файловый" атрибут Archive (он никак на свойства папки не влияет),
и, потом, находить эту папку по установленному этому атрибуту
а ежели папок много? :)
нуу, ТСу, вроде, одну нужно ...
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010866
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court
Прогер_самоучка
пропущено...
а ежели папок много? :)
нуу, ТСу, вроде, одну нужно ...

ТС вродебы спрашивал про уникальный ID (есть ли у файлов и папок)
Причем тут атрибут архивный не совсем понятно
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010870
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI
court
пропущено...
нуу, ТСу, вроде, одну нужно ...

ТС вродебы спрашивал про уникальный ID (есть ли у файлов и папок)
Причем тут атрибут архивный не совсем понятно
у него задача - гарантированно находить какую-то папку, содержимое/наименование которой может меняться [пользователем]

пс
и будет это делаться по ID (которого нет) или по атрибуту (который есть, и который нельзя установить НЕ программно) - не важно
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010876
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court
(который есть, и который нельзя установить НЕ программно)

Это с какого перепугу? (или я чего не понял)
Это когда атрибут архивный стал уникальным?
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010878
Прогер_самоучка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI
court
(который есть, и который нельзя установить НЕ программно)

Это с какого перепугу? (или я чего не понял)
Это когда атрибут архивный стал уникальным?
Ровно с тех пор, когда все остальные папки останутся с атрибутом неархивный :)
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010880
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI
court
(который есть, и который нельзя установить НЕ программно)

Это с какого перепугу? (или я чего не понял)
Это когда атрибут архивный стал уникальным?
да, есть в "дополнительно"

пс
чёта уверен был что это только для файлов
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010883
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прогер_самоучка
ROI
пропущено...

Это с какого перепугу? (или я чего не понял)
Это когда атрибут архивный стал уникальным?
Ровно с тех пор, когда все остальные папки останутся с атрибутом неархивный :)

А если есче одна папка появиться и чё как отличать будешь?
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010886
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,

А вообще то ТС дурью мается, а мы тут копья ломаем
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010887
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов, попробуй покопать в сторону
Код: vbnet
1.
Declare Function GetFileInformationByHandle Lib "kernel32.dll" (ByVal hFile As Long, lpFileInformation As BY_HANDLE_FILE_INFORMATION) As Long


после недолгого просмотра инета...
вроде как https://www.delphiplus.org/kriminalisticheskii-analiz-failovykh-sistem/identifikatory-obektov.html В NTFS версий 3.0+ существует дополнительный метод адресации файлов и каталогов (кроме стандартной адресации по именам каталогов/файлов или адресов записей MFT). Приложение или ОС может присвоить файлу уникальный 128-разрядный идентификатор объекта, который в дальнейшем используется для ссылок на объект даже в случае его переименования или перемещения на другой том. Продукты Microsoft используют идентификаторы объектов при внедрении файлов. Идентификатор может использоваться для ссылки на внедренный файл даже после его перемещения. ну и дальше в эту сторону

Сам не пробовал, ибо не нужно...
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010890
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010893
Прогер_самоучка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI
Прогер_самоучка
пропущено...
Ровно с тех пор, когда все остальные папки останутся с атрибутом неархивный :)

А если есче одна папка появиться и чё как отличать будешь?

Прогер_самоучка
court
пропущено...

можно, программно, установить папке "файловый" атрибут Archive (он никак на свойства папки не влияет),
и, потом, находить эту папку по установленному этому атрибуту
а ежели папок много? :)
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010896
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

тут на ВБ
https://social.msdn.microsoft.com/Forums/en-US/b13c01d4-b777-4143-a308-0f522b607a9c/get-unique-system-id-for-file-in-windows?forum=isvvba
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
Const OFS_MAXPATHNAME = 128
Const OF_CREATE = &H1000
Const OF_READ = &H0
Const OF_WRITE = &H1

Private Type FILETIME
        dwLowDateTime As Long
        dwHighDateTime As Long
End Type
 
Private Type BY_HANDLE_FILE_INFORMATION
        dwFileAttributes As Long
        ftCreationTime As FILETIME
        ftLastAccessTime As FILETIME
        ftLastWriteTime As FILETIME
        dwVolumeSerialNumber As Long
        nFileSizeHigh As Long
        nFileSizeLow As Long
        nNumberOfLinks As Long
        nFileIndexHigh As Long
        nFileIndexLow As Long
End Type

Private Type OFSTRUCT
        cBytes As Byte
        fFixedDisk As Byte
        nErrCode As Integer
        Reserved1 As Integer
        Reserved2 As Integer
        szPathName(OFS_MAXPATHNAME) As Byte
End Type

Private Declare Function GetFileInformationByHandle Lib "kernel32" (ByVal hFile As Long, lpFileInformation As BY_HANDLE_FILE_INFORMATION) As Long
Private Declare Function OpenFile Lib "kernel32" (ByVal lpFileName As String, lpReOpenBuff As OFSTRUCT, ByVal wStyle As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Function GetFileIdentifier(strFilePath) As String

Dim lngFileHandle As Long
Dim FileInfo As BY_HANDLE_FILE_INFORMATION
Dim OF As OFSTRUCT

lngFileHandle = OpenFile(strFilePath, OF, OF_READ)

GetFileInformationByHandle lngFileHandle, FileInfo

CloseHandle lngFileHandle

GetFileIdentifier = CStr(FileInfo.nFileIndexHigh) & CStr(FileInfo.nFileIndexLow)
    
End Function


Код: vbnet
1.
2.
3.
4.
5.
Sub test()
    Debug.Print GetFileIdentifier("D:\temp\test\1.txt")
    Name "D:\temp\test\1.txt" As "D:\temp\test\11.txt"
    Debug.Print GetFileIdentifier("D:\temp\test\11.txt")
End Sub


Код: vbnet
1.
2.
1966083574
1966083574
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010899
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court
тут на ВБ
тоже ничё, я так глубоко не копал
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010905
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court,
А теперь прогоните хотя бы на 500 файлов
будут или нет совпадения
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010906
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI
court,
А теперь прогоните хотя бы на 500 файлов
будут или нет совпадения
сегодня, я микрософту верю как себе
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40010910
istrebitel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гуглите Альтернативные потоки данных в NTFS
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40011000
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ого, накатали, спасибо большое! Буду разбираться.
Да, действительно, нужно зацепить айдишник не одной папки, а мониторить много папок.представьте что менеджеры каждый под свой продукт создают в файловой помойке по определённому пути папку с именем ВасяХзКакойЗаказ, потом спустя время, пробив цены и согласовав продажи папка меняет имя на ВасяСкрепкиНормальныйВарик.
И вне зависимости от имени папки у меня должна быть связь, ссылка на эту папку, как бы она не называлась и сколько бы раз не переименовывалась)
...
Рейтинг: 0 / 0
Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
    #40011022
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,
Че дурью то сразу))
Тут тема такая, представьте себе компанию, среднего размера, с количеством сотрудников более 200 человек + 20 летней историей. У каждого отдела сложились свои ритуалы в плане закладывания файлов по папкам, и этих папок в другие папки.
У продаж свои, у бухгалтеров свои, у других свои.
Перестроить многолетнюю логику работы компании и бп нельзя.
Нужно собирать информацию из всех ресурсов. Повлиять на ритуальные манипуляции с папками других департаментов нельзя.
Они переименовываются постоянно, переносятся в архивные папки, итд итп.

Поиск и связь по айдишнику папки, с последующим отображением её в webrowser позволит мне сэкономить около 20% моего рабочего времени) Всё банально.
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по использованию папки, неизменяемый индекс за который можно зацепиться, есть ли?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]