本帖最后由 将脚本进行到底 于 2013-5-2 23:36 编辑
脚本的功能正如题所说!但是感觉代码很臃肿,希望高手可以帮我优化些,另外在WIN7系统下测试发现如果不再管理员用户下运行,会提示“文件不存在”,我只知道是WMI的问题,由于WMI刚学,所以我想高手给点指点!
以下将源码献上,欢迎大家交流与讨论!- dim b,d,e,c,h,j,k,l,m,n,o,p,t,v,y,name,name1
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!//" & strComputer & "/root/cimv2")
- Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
- For Each objOperatingSystem In colOperatingSystems
- name1=objOperatingSystem.Caption
- '获取系统的版本
- Next
- os7="microsoft windows 7"
- osxp="microsoft windows xp"
- v=instr(1,name1,osxp,1)
- y=instr(1,name1,os7,1)
- if v=1 then
- '识别系统版本
- winxp()
- else if y=1 then
- win7()
- end if
- end if
- function win7()
- Set objGroup = GetObject("WinNT://./administrators")
- ‘获取WIN7系统管理员的权限
- For each objMember in objGroup.Members
- 'Wscript.Echo objMember.class & "=" & objMember.Name
- name=objmember.name
- next
- 'msgbox name
- set a=wscript.createobject("wscript.shell")
- a.popup "取消问题我已经解决了,可以在win7(32位)和xp(32位)下运行,但是还是必须是桌面上的TXT文件,实在抱歉,欢迎大家指教交流!好累!睡啦!",10,"说明",64
- set b=createobject("scripting.filesystemobject")
- d=trim(inputbox("请输入你要读取的文件名:"))
- ‘判断读出文件是否存在或者合法
-
- if d<>"" then
- if (b.fileexists("C:\Users\nan\Desktop\"&d)) then
- else
- t=msgbox("文件不存在!")
- end if
- if t<>1 then ’是否点击确定
- do
- m=m+1
- e=trim(inputbox("请输入目标的文件名"))
- if e<>"" then
- if (b.fileexists("C:\Users\"&name&"\Desktop\"&e)) then
- ’判断写入文件是否合法
- l=l+1
- 'msgbox l
- else
- msgbox"文件不存在,请重新输入文件名"
- end if
- end if
- loop until b.fileexists("C:\Users\"&name&"\Desktop\"&e) or m=3 or e=""
- ‘三次判断跳出
- if e<>"" then
- if m<>3 then
- h=instrrev(e,".")
- k=instr(e,".")
- if(h<>k) then
- e=mid(e,1,h-1)
- end if
- set c=b.opentextfile("C:\Users\"&name&"\Desktop\"&d,8,flase)
- c.write" "
- p=c.line
- set c=b.opentextfile("C:\Users\"&name&"\Desktop\"&d,1,flase)
- '打开读的权限
- 'msgbox p
- set i=b.opentextfile("C:\Users\"&name&"\Desktop\"&e,8,flase)
- '打开写的权限
- for o=1 to p
- f=c.readline
- '读入文件
- i.writeline f
- '写入文件
- next
- a.popup "写入成功",2,"提示",64
- else
- msgbox"不好意思,三次机会已用完"
- end if
- else
- end if
- else
- end if
- else
- end if
- end function
- '后面的和前面一样所以我只改了前面的
-
- function winxp()
- set a=wscript.createobject("wscript.shell")
- a.popup "取消问题我已经解决了,可以在win7(32位)和xp(32位)下运行,但是还是必须是桌面上的TXT文件,实在抱歉,欢迎大家指教交流!好累!睡啦!",10,"说明",64
- set b=createobject("scripting.filesystemobject")
- d=trim(inputbox("请输入你要读取的文件名:"))
- if d<>"" then
- if (b.fileexists("C:\Documents and Settings\hyf_soft\桌面\"&d)) then
- else
- t=msgbox("文件不存在!")
- end if
- if t<>1 then
- do
- m=m+1
- e=trim(inputbox("请输入目标的文件名"))
- if e<>"" then
- if (b.fileexists("C:\Documents and Settings\hyf_soft\桌面\"&e)) then
- l=l+1
- 'msgbox l
- else
- msgbox"文件不存在,请重新输入文件名"
- end if
- end if
- loop until b.fileexists("C:\Documents and Settings\hyf_soft\桌面\"&e) or m=3 or e=""
- if e<>"" then
- if m<>3 then
- h=instrrev(e,".")
- k=instr(e,".")
- if(h<>k) then
- e=mid(e,1,h-1)
- end if
- set c=b.opentextfile("C:\Documents and Settings\hyf_soft\桌面\"&d,8,flase)
- c.write" "
- p=c.line
- set c=b.opentextfile("C:\Documents and Settings\hyf_soft\桌面\"&d,1,flase)
- 'msgbox p
- set i=b.opentextfile("C:\Documents and Settings\hyf_soft\桌面\"&e,8,flase)
- for o=1 to p
- f=c.readline
- 'f=c.readline
- i.writeline f
- next
- a.popup "写入成功",2,"提示",64
- else
- msgbox"不好意思,三次机会已用完"
- end if
- else
- end if
- else
- end if
- else
- end if
- end function
复制代码
|