Files
acc-installer/downloader_copier.py
yassin1661-creator bafae4b212 init commit
2026-09-01 12:30:03 +03:30

63 lines
2.5 KiB
Python

import os
import shutil
def get_non_c_drive() -> str:
"""
پیدا کردن اولین درایو دسترس غیر از C در سیستم مقصد
"""
possible_drives = [f"{letter}:\\" for letter in "DEFGH"]
for drive in possible_drives:
if os.path.exists(drive):
return drive
return r"C:\\"
def setup_directories_and_copy(source_dir: str = r"C:\SoftwareNP",
target_drive: str = None) -> str:
"""
ایجاد پوشه‌ها در درایوی غیر از C و کپی فایل‌ها از مبدا به NovinSoft
"""
if not target_drive:
base_drive = get_non_c_drive()
else:
base_drive = target_drive
# تغییر نام پوشه اصلی به NovinPardazOne
base_target_dir = os.path.join(base_drive, "NovinPardazOne")
acc_dir = os.path.join(base_target_dir, "NovinAcc")
soft_dir = os.path.join(base_target_dir, "NovinSoft")
print(f"[+] درایو مقصد انتخاب شده: {base_drive}")
print(f"[+] در حال ایجاد ساختار پوشه‌ها در مسیر {base_target_dir} ...")
# ساخت پوشه‌های NovinAcc و NovinSoft
os.makedirs(acc_dir, exist_ok=True)
os.makedirs(soft_dir, exist_ok=True)
print(" [✓] پوشه‌های NovinAcc و NovinSoft با موفقیت ایجاد شدند.")
# کپی محتویات پوشه مبدا به NovinSoft
if os.path.exists(source_dir):
print(f"[+] در حال کپی فایل‌ها از {source_dir} به {soft_dir} ...")
for item in os.listdir(source_dir):
s = os.path.join(source_dir, item)
d = os.path.join(soft_dir, item)
if os.path.isdir(s):
shutil.copytree(s, d, dirs_exist_ok=True)
else:
shutil.copy2(s, d)
print(f" [✓] تمام فایل‌ها با موفقیت در پوشه {soft_dir} کپی شدند.")
return soft_dir
else:
raise FileNotFoundError(f"[-] پوشه مبدا در مسیر {source_dir} یافت نشد!")
if __name__ == "__main__":
os.system("chcp 65001 > nul")
print("--- تست ماژول ایجاد پوشه‌ها و کپی نرم‌افزار ---")
try:
target_path = setup_directories_and_copy(target_drive=r"D:\\")
print(f"\nعملیات با موفقیت به پایان رسید. مسیر نرم‌افزار: {target_path}")
except Exception as e:
print(f"\n[-] خطا: {e}")