跳到主要內容

Windows系統中環境變數的放置地方

在windows下,除了registry外,環境變數是另一個可以用來控制某些程式行為的地方。甚至其PATH變數可以決定程式能不能被執行。一般熟悉DOS指令的人,都會使用set這個命令去設定或是查看環境變數。

不過,不曉得為何Microsoft似乎不太喜歡讓人使用這個功能,所以關於環境變數的功能都非常難用。在windows下,環境變數其實也是放在registry的。所以,如果你想自己寫個小工具去修改環境變數,就需要知道環境變數在registry的位置。



基本上,環境變數在registry中存在於兩個地方,分別是
  • HKCU\Environment
  • HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
所以,你的程式可以透過修改registry的方式來修改環境變數。除了上面這兩個地方外,還有另外一個是傳統DOS的作法,也就是
  • autoexec.bat
  • config.sys
基本上,並不建議你將環境變數放在這個地方。不過,如果你是要找出某個環境變數的來源,除了registry外,也別忘記來這兩個檔案中找一下。有些傳統的軟體還是會用者兩個檔案的。

Microsoft有提供一個叫做setx.exe的程式,可以用來設定在上述Registry的環境變數。這個程式並不包含在windows中,你需要去Microsoft的網站找。

Reference

留言

Unknown寫道…
網誌管理員已經移除這則留言。

這個網誌中的熱門文章

Portable Python

我常常需要把Python寫的script帶到其他電腦使用,因此,一個免安裝,可攜帶的Python就顯得十分重要。最近看過了幾個可攜式Python的方案,下面這個PortablePython是我覺得最合我意的方案。因為它提供了大部分會用到的Python module及工具,甚至連wxPython及PyGame也有。同時也有好用的Python編輯器PyScripter。所有開發Python所需的開發工具都一應俱全了!把它放到隨身碟中,就不用到處幫人安裝Python了。 PortablePython : http://www.portablepython.com/

一個Python程式可幫檔名加上日期與時間

很多時候,我們希望能夠將檔案或是目錄名稱加上一個時間及日期,以便release。所以,我就寫了一個小小的程式來達到這個目的。我把這個程式貼上來,讓有興趣的人可以拿去使用。 -- #!/usr/bin/env python # -*- coding: ascii -*- """ Usage: cfgfn.py [filename or directory list] """ import sys import os import time import re import glob ro = re.compile(r'(?P<FN> .*)-[0-9]{8}-[0-9]{4}(?P<EXT> .*)') for fnl in sys.argv[1:]: for fn in glob.glob(fnl): mo = ro.match(fn) if mo: pre = mo.group('FN') ext = mo.group('EXT') else: pre, ext = os.path.splitext(fn) newFn = pre + time.strftime('-%Y%m%d-%H%M') + ext os.rename(fn, newFn) print 'Rename %s -> %s' % (fn, newFn)