HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Python
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 13.07.2025, 09:41
Manuel Leon
Участник форума
Регистрация: 08.10.2019
Сообщений: 266
С нами: 3473721

Репутация: 98
По умолчанию

Как спарсить путь до файла?

Python:





Код:
import
os
import
struct
import
datetime
def
filetime_to_dt
(
ft
)
:
if
ft
==
0
or
ft
>
2650467743999999999
:
return
None
return
datetime
.
datetime
(
1601
,
1
,
1
)
+
datetime
.
timedelta
(
microseconds
=
ft
/
10
)
def
parse_prefetch_file_v30
(
path
)
:
with
open
(
path
,
'rb'
)
as
f
:
data
=
f
.
read
(
)
signature
=
data
[
0
:
4
]
if
signature
[
:
3
]
!=
b'MAM'
:
print
(
f"{path}не является Windows 10+ prefetch"
)
return
None
run_count
=
struct
.
unpack_from
(
'
len
(
data
)
:
break
ft
=
struct
.
unpack_from
(
'"
else
:
exe_path
=
""
return
{
'prefetch_name'
:
os
.
path
.
basename
(
path
)
,
'exe_path'
:
exe_path
,
'run_count'
:
run_count
,
'run_times'
:
run_times
,
}
def
scan_prefetch_dir
(
prefetch_dir
=
r"C:\Windows\Prefetch"
)
:
results
=
[
]
files
=
[
f
for
f
in
os
.
listdir
(
prefetch_dir
)
if
f
.
lower
(
)
.
endswith
(
'.pf'
)
]
for
f
in
files
:
full_path
=
os
.
path
.
join
(
prefetch_dir
,
f
)
info
=
parse_prefetch_file_v30
(
full_path
)
if
info
:
results
.
append
(
info
)
return
results
if
__name__
==
"__main__"
:
infos
=
scan_prefetch_dir
(
)
if
not
infos
:
print
(
"Нет данных для записи."
)
else
:
with
open
(
"prefetch_report.txt"
,
"w"
,
encoding
=
"utf-8"
)
as
f
:
for
info
in
infos
:
f
.
write
(
f"Prefetch файл:{info['prefetch_name']}\n"
)
f
.
write
(
f"Путь exe:{info['exe_path']}\n"
)
f
.
write
(
f"Количество запусков:{info['run_count']}\n"
)
f
.
write
(
"Времена запусков:\n"
)
for
dt
in
info
[
'run_times'
]
:
f
.
write
(
f"{dt.strftime('%Y-%m-%d %H:%M:%S')}\n"
)
f
.
write
(
"-"
*
40
+
"\n"
)
print
(
"Отчёт записан в prefetch_report.txt"
)


Не работает
 
Ответить с цитированием

  #2  
Старый 14.07.2025, 14:47
fakelag28
Познающий
Регистрация: 23.08.2022
Сообщений: 58
С нами: 1961408

Репутация: 23
По умолчанию

Привет, уточни что именно не работает. Несколько раз перепроверил, всё ок. Возможно код запускается без прав администратора на папку Prefetch.
 
Ответить с цитированием

  #3  
Старый 14.07.2025, 15:10
Manuel Leon
Участник форума
Регистрация: 08.10.2019
Сообщений: 266
С нами: 3473721

Репутация: 98
По умолчанию

Цитата:
Сообщение от fakelag28  

Привет, уточни что именно не работает. Несколько раз перепроверил, всё ок. Возможно код запускается без прав администратора на папку Prefetch.
путь до исполняемого файла не выводит
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.