第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何從cmd永久更新PATH變量?視窗

如何從cmd永久更新PATH變量?視窗

如果我set PATH=%PATH%;C:\\Something\\bin從cmd 執(zhí)行然后執(zhí)行,echo %PATH%我會(huì)在路徑中看到此字符串。如果我關(guān)閉并打開cmd,則該新字符串不在PATH中。將來如何從cmd永久更新PATH,而不僅限于當(dāng)前進(jìn)程?我不想通過轉(zhuǎn)到系統(tǒng)屬性->高級(jí)->環(huán)境變量來執(zhí)行此操作,并在那里更新PATH。
查看完整描述

3 回答

?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

有關(guān)如何執(zhí)行此操作的文檔可以在MSDN上找到。關(guān)鍵摘錄是這樣的:


要以編程方式添加或修改系統(tǒng)環(huán)境變量,請(qǐng)將它們添加到HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager \ Environment注冊(cè)表項(xiàng)中,然后廣播一條WM_SETTINGCHANGE消息,其中l(wèi)Param設(shè)置為字符串“ Environment”。這使應(yīng)用程序(例如外殼程序)可以獲取您的更新。


請(qǐng)注意,您的應(yīng)用程序?qū)⑿枰嵘墓芾韱T權(quán)限才能修改此密鑰。


您可以在評(píng)論中指出您很樂意僅修改每個(gè)用戶的環(huán)境。通過編輯HKEY_CURRENT_USER \ Environment中的值來執(zhí)行此操作。和以前一樣,請(qǐng)確保您廣播了一條WM_SETTINGCHANGE消息。


您應(yīng)該能夠使用JNI注冊(cè)表類在Java應(yīng)用程序中輕松地完成此操作。


查看完整回答
反對(duì) 回復(fù) 2019-10-24
?
眼眸繁星

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊

您可以使用:


setx PATH "%PATH%;C:\\Something\\bin"

但是,setx會(huì)將存儲(chǔ)的字符串截?cái)酁?024個(gè)字節(jié),可能會(huì)損壞PATH。


/M將更改PATHin HKEY_LOCAL_MACHINE而不是HKEY_CURRENT_USER。換句話說,是系統(tǒng)變量,而不是用戶變量。例如:


SETX /M PATH "%PATH%;C:\your path with spaces"

您必須記住,新的PATH在您當(dāng)前的中不可見cmd.exe。


但是,如果您查看注冊(cè)表或使用新的注冊(cè)表cmd.exe,則"set p"可以看到新值。


查看完整回答
反對(duì) 回復(fù) 2019-10-24
?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊

這個(gè)Python腳本[*]正是這樣做的:


"""

Show/Modify/Append registry env-vars (ie `PATH`) and notify Windows-applications to pickup changes.


First attempts to show/modify HKEY_LOCAL_MACHINE (all users), and 

if not accessible due to admin-rights missing, fails-back 

to HKEY_CURRENT_USER.

Write and Delete operations do not proceed to user-tree if all-users succeed.


Syntax: 

    {prog}                  : Print all env-vars. 

    {prog}  VARNAME         : Print value for VARNAME. 

    {prog}  VARNAME   VALUE : Set VALUE for VARNAME. 

    {prog}  +VARNAME  VALUE : Append VALUE in VARNAME delimeted with ';' (i.e. used for `PATH`). 

    {prog}  -VARNAME        : Delete env-var value. 


Note that the current command-window will not be affected, 

changes would apply only for new command-windows.

"""


import winreg

import os, sys, win32gui, win32con


def reg_key(tree, path, varname):

    return '%s\%s:%s' % (tree, path, varname) 


def reg_entry(tree, path, varname, value):

    return '%s=%s' % (reg_key(tree, path, varname), value)


def query_value(key, varname):

    value, type_id = winreg.QueryValueEx(key, varname)

    return value


def yield_all_entries(tree, path, key):

    i = 0

    while True:

        try:

            n,v,t = winreg.EnumValue(key, i)

            yield reg_entry(tree, path, n, v)

            i += 1

        except OSError:

            break ## Expected, this is how iteration ends.


def notify_windows(action, tree, path, varname, value):

    win32gui.SendMessage(win32con.HWND_BROADCAST, win32con.WM_SETTINGCHANGE, 0, 'Environment')

    print("---%s %s" % (action, reg_entry(tree, path, varname, value)), file=sys.stderr)


def manage_registry_env_vars(varname=None, value=None):

    reg_keys = [

        ('HKEY_LOCAL_MACHINE', r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment'),

        ('HKEY_CURRENT_USER', r'Environment'),

    ]

    for (tree_name, path) in reg_keys:

        tree = eval('winreg.%s'%tree_name)

        try:

            with winreg.ConnectRegistry(None, tree) as reg:

                with winreg.OpenKey(reg, path, 0, winreg.KEY_ALL_ACCESS) as key:

                    if not varname:

                        for regent in yield_all_entries(tree_name, path, key):

                            print(regent)

                    else:

                        if not value:

                            if varname.startswith('-'):

                                varname = varname[1:]

                                value = query_value(key, varname)

                                winreg.DeleteValue(key, varname)

                                notify_windows("Deleted", tree_name, path, varname, value)

                                break  ## Don't propagate into user-tree.

                            else:

                                value = query_value(key, varname)

                                print(reg_entry(tree_name, path, varname, value))

                        else:

                            if varname.startswith('+'):

                                varname = varname[1:]

                                value = query_value(key, varname) + ';' + value

                            winreg.SetValueEx(key, varname, 0, winreg.REG_EXPAND_SZ, value)

                            notify_windows("Updated", tree_name, path, varname, value)

                            break  ## Don't propagate into user-tree.

        except PermissionError as ex:

            print("!!!Cannot access %s due to: %s" % 

                    (reg_key(tree_name, path, varname), ex), file=sys.stderr)

        except FileNotFoundError as ex:

            print("!!!Cannot find %s due to: %s" % 

                    (reg_key(tree_name, path, varname), ex), file=sys.stderr)


if __name__=='__main__':

    args = sys.argv

    argc = len(args)

    if argc > 3:

        print(__doc__.format(prog=args[0]), file=sys.stderr)

        sys.exit()


    manage_registry_env_vars(*args[1:])

下面是一些用法示例,假設(shè)已將其保存在setenv.py當(dāng)前路徑中某個(gè)位置的文件中。請(qǐng)注意,在這些示例中,我沒有admin權(quán)限,因此更改僅影響本地用戶的注冊(cè)表樹:


> REM ## Print all env-vars

> setenv.py

!!!Cannot access HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session   Manager\Environment:PATH due to: [WinError 5] Access is denied

HKEY_CURRENT_USER\Environment:PATH=...

...


> REM ## Query env-var:

> setenv.py PATH C:\foo

!!!Cannot access HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session   Manager\Environment:PATH due to: [WinError 5] Access is denied

!!!Cannot find HKEY_CURRENT_USER\Environment:PATH due to: [WinError 2] The system cannot find the file specified


> REM ## Set env-var:

> setenv.py PATH C:\foo

!!!Cannot access HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session   Manager\Environment:PATH due to: [WinError 5] Access is denied

---Set HKEY_CURRENT_USER\Environment:PATH=C:\foo


> REM ## Append env-var:

> setenv.py +PATH D:\Bar

!!!Cannot access HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session   Manager\Environment:PATH due to: [WinError 5] Access is denied

---Set HKEY_CURRENT_USER\Environment:PATH=C:\foo;D:\Bar


> REM ## Delete env-var:

> setenv.py -PATH

!!!Cannot access HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session   Manager\Environment:PATH due to: [WinError 5] Access is denied

---Deleted HKEY_CURRENT_USER\Environment:PATH

[*]改編自:http : //code.activestate.com/recipes/416087-persistent-environment-variables-on-windows/


查看完整回答
反對(duì) 回復(fù) 2019-10-24
  • 3 回答
  • 0 關(guān)注
  • 2506 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)