NX Lab

Cài đặt bộ công cụ cho cả phòng: script cài tự động copy file, cập nhật menu và kiểm tra phiên bản

#Triển khai#Python1 lượt xem

  1. Quản trị viênQuản trị· 0 điểm

    Câu hỏi ·

    Hướng dẫn từng người sửa biến môi trường và chép file dễ sai. Một script cài đặt chạy bằng một cú đúp chuột làm hết: copy thư mục, thêm đường dẫn tùy biến, kiểm tra phiên bản NX.

    Cài đặt bộ công cụ cho cả phòng Cài đặt bộ công cụ cho cả phòng

    Các bước thực hiện

    1. Kiểm tra điều kiện. Có NX, có quyền ghi thư mục đích.
    2. Sao chép file. Từ ổ chung sang thư mục cục bộ.
    3. Cập nhật custom_dirs.dat. Thêm đường dẫn nếu chưa có.
    4. Đặt biến môi trường người dùng. UGII_CUSTOM_DIRECTORY_FILE (nếu chính sách cho phép).
    5. Báo kết quả. Thông báo cần khởi động lại NX.

    Code tham khảo (Python)

    # cai_dat.py - chạy bằng Python hệ thống (không cần NX)
    import os
    import shutil
    import sys
    
    NGUON = r"\\may-chu\ky_thuat\nxlab-tools"
    DICH = r"C:\NXLab"
    FILE_DS_TUY_BIEN = os.path.join(DICH, "custom_dirs.dat")
    
    def sao_chep():
        if not os.path.isdir(NGUON):
            raise SystemExit("Không truy cập được nguồn: " + NGUON)
        if os.path.isdir(DICH):
            sao_luu = DICH + "_cu"
            if os.path.isdir(sao_luu):
                shutil.rmtree(sao_luu)
            shutil.move(DICH, sao_luu)
        shutil.copytree(NGUON, DICH)
    
    def cap_nhat_danh_sach():
        thu_muc_tuy_bien = os.path.join(DICH, "NXCustom")
        dong = [thu_muc_tuy_bien]
        if os.path.isfile(FILE_DS_TUY_BIEN):
            with open(FILE_DS_TUY_BIEN, "r", encoding="utf-8") as f:
                dong = [d.strip() for d in f if d.strip()]
            if thu_muc_tuy_bien not in dong:
                dong.append(thu_muc_tuy_bien)
        with open(FILE_DS_TUY_BIEN, "w", encoding="utf-8") as f:
            f.write("\n".join(dong) + "\n")
    
    def main():
        print("Cài đặt NX Lab Tools vào", DICH)
        sao_chep()
        cap_nhat_danh_sach()
        print("Xong. Hãy đặt UGII_CUSTOM_DIRECTORY_FILE =", FILE_DS_TUY_BIEN, "rồi khởi động lại NX.")
    
    if __name__ == "__main__":
        try:
            main()
        except Exception as ex:
            print("Cài đặt thất bại:", ex)
            sys.exit(1)
    

    Giải thích code

    • Chạy bằng Python hệ thống hoặc đóng gói .bat gọi nó; không cần mở NX.
    • Bản cũ được đổi tên _cu thay vì xóa để quay lại dễ khi có lỗi.
    • File custom_dirs.dat chứa mỗi dòng một thư mục tùy biến; thêm mà không xóa các thư mục có sẵn.

    Lỗi thường gặp

    • Quản trị NX thường đã đặt sẵn biến môi trường ở mức hệ thống; hỏi họ trước khi sửa cấu hình cá nhân.
    • Đường dẫn mạng UNC trong chuỗi r"\\..." cần raw string để không bị hiểu nhầm ký tự thoát.

    Code mang tính tham khảo, viết cho NX 12 trở lên (Python journal). Tên menu và một số lớp có thể khác theo phiên bản NX; hãy chạy thử trên bản sao của chi tiết trước khi dùng cho dữ liệu thật.

    Điểm: 0

Trả lời

Đăng nhập để tham gia thảo luận.