给别人装机时有时需要自解压缩文件 但是自解压缩文件需要手动选择路径 但是问题是 绝对路径不好用 我想用windows环境变量设置相应路径
请问一下 如何用VBS脚本或者是 c语言来对windows的环境变量进行设置 临时的或者是永久的都不要紧(临时的话要关机后消失)~~~~
不要说dos的set命令!!!
给别人装机时有时需要自解压缩文件 但是自解压缩文件需要手动选择路径 但是问题是 绝对路径不好用 我想用windows环境变量设置相应路径
请问一下 如何用VBS脚本或者是 c语言来对windows的环境变量进行设置 临时的或者是永久的都不要紧(临时的话要关机后消失)~~~~
不要说dos的set命令!!!
'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
'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