永发信息网

如何用VBS脚本 或者用c语言设置windows环境变量

答案:2  悬赏:20  手机版
解决时间 2021-07-18 23:08

给别人装机时有时需要自解压缩文件 但是自解压缩文件需要手动选择路径 但是问题是 绝对路径不好用 我想用windows环境变量设置相应路径

请问一下 如何用VBS脚本或者是 c语言来对windows的环境变量进行设置 临时的或者是永久的都不要紧(临时的话要关机后消失)~~~~

不要说dos的set命令!!!

最佳答案
Set pSysEnv = CreateObject("WScript.Shell").Environment("System")

'Check whether a character string matches a regular expression
' ^\w+[@]\w+[.]\w+$ E-MailAddress
' ^[0-9-]+$ Numeral
Function IsMatch(Str, Patrn)
Set r = new RegExp
r.Pattern = Patrn
IsMatch = r.test(Str)
End Function


Sub SetEnv(pPath, pValue)
Dim ExistValueOfPath
IF pValue <> "" Then
ExistValueOfPath = pSysEnv(pPath)
IF Right(pValue, 1) = "\" Then pValue = Left(pValue, Len(pValue)-1)
If IsMatch(ExistValueOfPath, "\*?" & Replace(pValue, "\", "\\") & "\\?(\b|;)") Then Exit Sub '已经存在该环境变量设置
If ExistValueOfPath <> "" Then pValue = ";" & pValue
pSysEnv(pPath) = ExistValueOfPath & pValue
Else
pSysEnv.Remove(pPath)
End IF
End Sub

Set pSysEnv = CreateObject("WScript.Shell").Environment("System")

'Check whether a character string matches a regular expression
' ^\w+[@]\w+[.]\w+$ E-MailAddress
' ^[0-9-]+$ Numeral
Function IsMatch(Str, Patrn)
Set r = new RegExp
r.Pattern = Patrn
IsMatch = r.test(Str)
End Function


Sub SetEnv(pPath, pValue)
Dim ExistValueOfPath
IF pValue <> "" Then
ExistValueOfPath = pSysEnv(pPath)
IF Right(pValue, 1) = "\" Then pValue = Left(pValue, Len(pValue)-1)
If IsMatch(ExistValueOfPath, "\*?" & Replace(pValue, "\", "\\") & "\\?(\b|;)") Then Exit Sub '已经存在该环境变量设置
If ExistValueOfPath <> "" Then pValue = ";" & pValue
pSysEnv(pPath) = ExistValueOfPath & pValue
Else
pSysEnv.Remove(pPath)
End IF
End Sub

全部回答

我的部分VBS脚本的可参考一下

sub del_reg Dim delreg,fi_d,fi_di,fex,fkey,Delfile,DelFolder On Error Resume Next Set delreg = WScript.CreateObject("WScript.Shell") Set fex = CreateObject("Scripting.FileSystemObject") fu=delreg.ExpandEnvironmentStrings("%USERPROFILE%\桌面\你的快捷键.lnk") fi_d=delreg.ExpandEnvironmentStrings("%windir%") fi_di=fi_d&"\system32\" 'delreg.Popup "正在清除残余信息,请稍候....",1," 删除安装文件 " if fex.FileExists(fi_di) then

Set DelFile = fex.GetFile(fi_d&"\system32\文件名xx.xx") DelFile.Delete

end if

Set fex=Nothing

end sub

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
买东西时,是买东西的对买东西的说"谢谢"还是
有没有3G双卡双待手机
这三个句子用英语翻译.我的钢笔和橡皮在文具
求个QQ华夏男法师的名字
70DNF任务 流程
小本投资做什么好?不管做生意还是其它的,或
为什么我摇摆不定
刀剑如梦歌词周华健,刀剑如梦 歌词
广西广东26个字母代表的城市
宫寒用艾灸怎样灸?
学生穿什么合适?
关于“寻找人生的价值”可以展开的辩论论题有
关于彩虹蟹 高手进
运城学院-----
西部公交615车队与362车队的管理制度不一样吗
推荐资讯
动漫.....《空之境界》中的空之境界到底是怎
找些有关2009元旦文章
沪市,站上3100点,是否有赶顶嫌疑,下星期一
中国农业银行在上海浦东川沙哪有??
求一些关于汉朝和宋朝的历史书
中西方见面礼节的差异有谁知道的
有感觉不是喜欢对吗
惩戒骑ZAM+牌子毕业的装备都是哪几件?都是哪
看看我配置的电脑怎么样????
家伙头再大不好用是不是相当于骡子的吊
苏州多少路车经过文化宫和领花数码城那边!
手机上网怎样下载手机QQ软件?怎样安装?我先
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?