Python 自動(dòng)安裝 Rising 殺毒軟件
更新時(shí)間:2009年04月24日 00:07:39 作者:
平日里經(jīng)常需要重新安裝殺毒軟件,我使用的是 Rising 該軟件可以將升級(jí)后的新版本,壓縮成一個(gè)安裝包,當(dāng)升級(jí)失敗造成硬盤(pán)中的 Rising
不能使用時(shí),或重新安裝系統(tǒng)時(shí),方便我們重新安裝最新的版本.
但是每次安裝都要點(diǎn)擊好幾次 Next 按鈕,同時(shí)還要提供序列號(hào),ID 等信息,我很討厭這種重復(fù)工作,索性寫(xiě)一個(gè)小的腳本,讓他自動(dòng)安裝,這樣
我就可以,在安裝時(shí)休息幾分鐘了
腳本使用了 Python 2.3 + Com 對(duì)象,所以你的系統(tǒng)必須安裝Python2.3或更高版本
同時(shí)必須安裝 Mark Hammond's Win32all 模塊
(特別感謝Mark Hammond是他開(kāi)發(fā)了超級(jí)模塊Win32all,同時(shí)向天才的Python 開(kāi)發(fā)團(tuán)隊(duì)表示感謝,是他們創(chuàng)造了神奇的 Python 語(yǔ)言)
腳本的使用很簡(jiǎn)單,第一次運(yùn)行時(shí)在命令行下使用 RisingInstall.py -c RisingInstall.cfg
在同目錄下建立配置文件,打開(kāi)它修改sn,id,path,execpath,分別填入 序列號(hào),id號(hào),安裝路徑,
以及安裝程序所在的目錄及安裝程序名字
之后直接運(yùn)行RisingInstall.Py 即可
######################################################################
# Create By WormChocolate
# RisingInstall.py Version Beta 1
# 2005/02/22 19:17 PM
# Test Wscript.Shell Object's Install Rising-Setup in Python
######################################################################
import win32com.client,time,os,sys,ConfigParser
wsh = win32com.client.Dispatch("Wscript.Shell")
def InstallRising(ConfigFileName="RisingInstall.cfg"):
if os.path.exists(ConfigFileName):
cfg = ConfigParser.ConfigParser()
cfg.read(ConfigFileName)
try:
sn = cfg.get("Install","sn")
id = cfg.get("Install","id")
installpath = cfg.get("Install","path")
execpath = cfg.get("Install","execpath")
splashsec = int(cfg.get("Program","splashsec"))
languagesec = int(cfg.get("Program","languagesec"))
itemsec = int(cfg.get("Program","itemsec"))
wshe = wsh.Exec(execpath)
pid = wshe.ProcessID
except:
print "ConfigParser faile"
sys.exit(1)
if pid != "":
wsh.AppActivate(pid)
time.sleep(splashsec)
wsh.SendKeys("{ENTER}")
time.sleep(languagesec)
wsh.SendKeys("%n")
#time.sleep(itemsec)
wsh.SendKeys("%a")
#time.sleep(itemsec)
wsh.SendKeys("%n")
#time.sleep(itemsec)
wsh.SendKeys(sn)
#time.sleep(itemsec)
wsh.SendKeys(id)
wsh.SendKeys("%n")
time.sleep(itemsec)
wsh.SendKeys("%s")
time.sleep(itemsec)
wsh.SendKeys("%n")
time.sleep(itemsec)
wsh.SendKeys("%n")
time.sleep(itemsec)
wsh.SendKeys(installpath)
wsh.SendKeys("%n")
time.sleep(itemsec)
wsh.SendKeys("%n")
wsh.SendKeys("%n")
else:
print "Config File " + ConfigFileName +" Not Found"
print "Now Auto Create This Config File Dot't Worry"
CreateCfg(ConfigFileName)
InstallRising()
def CreateCfg(cfgname):
if cfgname != "":
print "Createing Config File : "+ cfgname + "..."
contents = ["[Install]\n","sn=\n","id=\n","path=c:\\\\Program Files\\\\rising\\\\Rav\n","execpath = c:\\\\Rising17.06.exe\n" \
"\n[Program]\n","splashsec=20\n","languagesec=2\n","itemsec=1\n"]
cfg = open(cfgname,"w+t",256)
cfg.writelines(contents)
cfg.close()
print cfgname + " Create Ok..."
#----- Main -------------
if len(sys.argv) == 1 :
InstallRising()
elif len(sys.argv) == 2:
InstallRising(sys.argv[1])
elif len(sys.argv) == 3:
if sys.argv[1]=="-c" and sys.argv[2] != "":
CreateCfg(sys.argv[2])
print "Config File: " + sys.argv[2] + " Created OK..."
else:
print "Parm Error : \nExample : "+sys.argv[0]+" -c ConfigFileName.cfg"
else:
print "Script Error"
但是每次安裝都要點(diǎn)擊好幾次 Next 按鈕,同時(shí)還要提供序列號(hào),ID 等信息,我很討厭這種重復(fù)工作,索性寫(xiě)一個(gè)小的腳本,讓他自動(dòng)安裝,這樣
我就可以,在安裝時(shí)休息幾分鐘了
腳本使用了 Python 2.3 + Com 對(duì)象,所以你的系統(tǒng)必須安裝Python2.3或更高版本
同時(shí)必須安裝 Mark Hammond's Win32all 模塊
(特別感謝Mark Hammond是他開(kāi)發(fā)了超級(jí)模塊Win32all,同時(shí)向天才的Python 開(kāi)發(fā)團(tuán)隊(duì)表示感謝,是他們創(chuàng)造了神奇的 Python 語(yǔ)言)
腳本的使用很簡(jiǎn)單,第一次運(yùn)行時(shí)在命令行下使用 RisingInstall.py -c RisingInstall.cfg
在同目錄下建立配置文件,打開(kāi)它修改sn,id,path,execpath,分別填入 序列號(hào),id號(hào),安裝路徑,
以及安裝程序所在的目錄及安裝程序名字
之后直接運(yùn)行RisingInstall.Py 即可
復(fù)制代碼 代碼如下:
######################################################################
# Create By WormChocolate
# RisingInstall.py Version Beta 1
# 2005/02/22 19:17 PM
# Test Wscript.Shell Object's Install Rising-Setup in Python
######################################################################
import win32com.client,time,os,sys,ConfigParser
wsh = win32com.client.Dispatch("Wscript.Shell")
def InstallRising(ConfigFileName="RisingInstall.cfg"):
if os.path.exists(ConfigFileName):
cfg = ConfigParser.ConfigParser()
cfg.read(ConfigFileName)
try:
sn = cfg.get("Install","sn")
id = cfg.get("Install","id")
installpath = cfg.get("Install","path")
execpath = cfg.get("Install","execpath")
splashsec = int(cfg.get("Program","splashsec"))
languagesec = int(cfg.get("Program","languagesec"))
itemsec = int(cfg.get("Program","itemsec"))
wshe = wsh.Exec(execpath)
pid = wshe.ProcessID
except:
print "ConfigParser faile"
sys.exit(1)
if pid != "":
wsh.AppActivate(pid)
time.sleep(splashsec)
wsh.SendKeys("{ENTER}")
time.sleep(languagesec)
wsh.SendKeys("%n")
#time.sleep(itemsec)
wsh.SendKeys("%a")
#time.sleep(itemsec)
wsh.SendKeys("%n")
#time.sleep(itemsec)
wsh.SendKeys(sn)
#time.sleep(itemsec)
wsh.SendKeys(id)
wsh.SendKeys("%n")
time.sleep(itemsec)
wsh.SendKeys("%s")
time.sleep(itemsec)
wsh.SendKeys("%n")
time.sleep(itemsec)
wsh.SendKeys("%n")
time.sleep(itemsec)
wsh.SendKeys(installpath)
wsh.SendKeys("%n")
time.sleep(itemsec)
wsh.SendKeys("%n")
wsh.SendKeys("%n")
else:
print "Config File " + ConfigFileName +" Not Found"
print "Now Auto Create This Config File Dot't Worry"
CreateCfg(ConfigFileName)
InstallRising()
def CreateCfg(cfgname):
if cfgname != "":
print "Createing Config File : "+ cfgname + "..."
contents = ["[Install]\n","sn=\n","id=\n","path=c:\\\\Program Files\\\\rising\\\\Rav\n","execpath = c:\\\\Rising17.06.exe\n" \
"\n[Program]\n","splashsec=20\n","languagesec=2\n","itemsec=1\n"]
cfg = open(cfgname,"w+t",256)
cfg.writelines(contents)
cfg.close()
print cfgname + " Create Ok..."
#----- Main -------------
if len(sys.argv) == 1 :
InstallRising()
elif len(sys.argv) == 2:
InstallRising(sys.argv[1])
elif len(sys.argv) == 3:
if sys.argv[1]=="-c" and sys.argv[2] != "":
CreateCfg(sys.argv[2])
print "Config File: " + sys.argv[2] + " Created OK..."
else:
print "Parm Error : \nExample : "+sys.argv[0]+" -c ConfigFileName.cfg"
else:
print "Script Error"
相關(guān)文章
python實(shí)現(xiàn)密碼強(qiáng)度校驗(yàn)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)密碼強(qiáng)度校驗(yàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
Python列表推導(dǎo)式實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了Python列表推導(dǎo)式實(shí)現(xiàn)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
pandas is in和not in的使用說(shuō)明
這篇文章主要介紹了pandas is in和not in的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
關(guān)于Python?Tkinter?復(fù)選框?->Checkbutton
這篇文章主要介紹了關(guān)于Python?Tkinter復(fù)選框Checkbutton,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
Pyqt5設(shè)置返回鍵和跳轉(zhuǎn)頁(yè)面鍵的示例代碼
這篇文章主要介紹了Pyqt5設(shè)置返回鍵和跳轉(zhuǎn)頁(yè)面鍵的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Python+Opencv實(shí)戰(zhàn)之人臉追蹤詳解
人臉處理是人工智能中的一個(gè)熱門話題,人臉處理可以使用計(jì)算機(jī)視覺(jué)算法從人臉中自動(dòng)提取大量信息。本文將展示OpenCV Python實(shí)現(xiàn)人臉追蹤的示例代碼,需要的可以參考一下2021-11-11
使用Pytorch訓(xùn)練two-head網(wǎng)絡(luò)的操作
這篇文章主要介紹了使用Pytorch訓(xùn)練two-head網(wǎng)絡(luò)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
在Python中用GDAL實(shí)現(xiàn)矢量對(duì)柵格的切割實(shí)例
這篇文章主要介紹了在Python中用GDAL實(shí)現(xiàn)矢量對(duì)柵格的切割實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
Python enumerate遍歷數(shù)組示例應(yīng)用
遍歷數(shù)組的python代碼2008-09-09

