Tạo biến môi trường trên cmd

Mình viết một đoạn script trên python để tạo đường dẫn đến chương trình nhưng không thấy xuất hiện path đó trong Systems Properties>Environment Variables. Khi gọi chương trình thì chỉ có trên cmd với quyền admin là chạy được, còn cmd với quyền user thì không chạy được. Phải sửa như thế nào?

os.system('setx /M PATH "%s"' % path)

Nếu vậy thì phải chạy với quyền Admin thôi, anh chưa thử nhưng em nói như thế thì rõ ràng rồi còn gì ^^

1 Like

Có cách nào không nhỉ :smiley: hay là phải set bằng tay.
Update: os.system('setx PATH "%s"' % path) nếu như thế này thì trong list biến môi trường cho user sẽ xuất hiện path, cơ mà vẫn không gọi chương trình được :anguished:

Anh thử cái này xem được không :smile:

os.system('setx PATH "%s" /M' % new_path)

Em dùng cho cái DNHconsole ổn mà :smile:

http://ss64.com/nt/setx.html

/m
Set the variable in the system environment HKLM.
(The default is the local environment HKCU)

Thử cái này nữa

import admin
if not admin.isUserAdmin():
        admin.runAsAdmin()
1 Like

@thanhmssl10 không được Thành ơi, giống cái dòng code ban đầu của anh thôi
mà để chương trình trong ổ D thì chắc không vấn đề gì nhỉ?

@ltd các thư viện này import win32api, win32con, win32event, win32process hình như không có, thử đổi thành 64 thì cũng không có :persevere:

Ừ nhể, em nhìn không kĩ :sweat_smile: quả này khoai rồi, anh thử build ra exe xong chuột phải, “run as admin” xem có được k.

Nếu chạy “run as admin” thì bình thường, với user thì hơi khoai :persevere:

1 Like

Quái nhể :sweat_smile: Em vừa test lại, thấy vẫn ổn, chạy phát ăn luôn. Máy em win 7 64 bit, python 2, có một điểm khác là em add cái path vào đầu PATH chứ không phải cuối (chắc k liên quan lắm) :smile:

Toàn bộ code setup path của em nó như thế này:

def setupPath():
    current_path = os.path.dirname(os.path.abspath("__file__"))
    if not current_path in os.environ['path']:
        new_path = current_path + ';%PATH%' 
        os.system('setx PATH "%s" /M' % new_path)
        print "Da Setup Path thanh cong!"
        print "Khoi dong lai cmd"
        print "Ban co the truy cap dnh tu bat ki duong dan nao" 

Anh thử down cái DNHconsole này về, giải nén ở ổ D, xong cd đến thư mục chứa nó, xong gõ dnh setup path xem nó có thêm được path k :blush:

https://app.box.com/s/arv1uq15sd4gklfzizxqiyjfu7feg2jb

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?