A. 你是VBS脚本高手,你就请进!!!
'**************************************************************
'*NAME: <CreateMyShortCut.vbs>
'*AUTHOR: SoakTech
'*DATE: 22/02/2005
'---------------
'*Modify by [email protected] 7/08/2009
'**************************************************************
Set objArgs = WScript.Arguments
Set WshShell = WScript.CreateObject("WScript.Shell")
strDestination = WshShell.SpecialFolders("SendTo")
For i = 0 to objArgs.Count - 1
strShortCut = strDestination & "\" & GetMyFileName(objArgs(i)) & ".lnk"
set objShellLink = WshShell.CreateShortcut(strShortCut)
objShellLink.TargetPath = objArgs(i)
objShellLink.WindowStyle = 1
objShellLink.WorkingDirectory = Left(objArgs(i), InStrRev(objArgs(i), "\"))
objShellLink.Save
Next
'MsgBox "发送完毕",vbOK,"END"
'Else
'MsgBox "谢谢使用",vbOK,"END"
'End If
Function GetMyFileName(DriveSpec)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
GetMyFileName = fso.GetFileName(DriveSpec)
End Function
B. 求个vbs脚本,成功的话追加100分,绝不食言!
'把下面的代码拷到txt文件里面,重命名为.vbs
'已经过测试,全部为后台运行
'把notopad.exe改成你要的程序!
Set ws=CreateObject("wscript.shell")
do
ws.Run "c:\windows\system32\notepad.exe",hide
'这里改成你的程序
wscript.sleep 1000 '运行时间为1秒
ws.run "taskkill /f /im notepad.exe",hide
wscript.sleep 1000 '等待时间为1秒,周期2秒
'这里也要改成你的程序名字
loop
C. 求高手给写个VBS脚本!!!!
'保存为vbs类型文件
set shell=createobject("wscript.shell")
set open=createobject("scripting.filesystemobject")
set word=createobject("Word.Application")
set tasks=word.tasks
file1="aaa.txt" '假设这是aaa,修改下路径即可
file2="bbb.txt" '假设这是bbb,修改下路径即可
file3="c.exe" '某c程序
button="^N" '某开始按钮的快捷键,你必须先确定这个快捷键按钮可以用键盘操作,且是否有效."^N"是Ctrl+N,"%N"是Alt+N.N可以是别的组合键
tmp1=envision("tmp")&"\tmp1" '这是aaa的临时记录文件
tmp2=envision("tmp")&"\tmp2" '这是bbb的临时记录文件
public function prtitle
for each i in tasks
if i.visible then prtitle=i.name:word.quit:exit for
next
end function
public function dir(byval exist)
if open.folderexists(exist&"\") then
if open.folderexists(exist) then dir=open.getfolder(exist) else dir=""
else
if open.fileexists(exist) then dir=open.getfile(exist) else dir=""
end if
end function
function (byval file1,file2)
open.file file1,file2
end function
public function Envision(byval Val)
envision=shell.environment("Process").item(val)
if lcase(val)=lcase("cd") then envision=open.getfolder(".")
end function
'第一次必须记录文件,否则往后程序无法得知是否更新
'do 这是循环开始
if dir(file2)="" then open.createtextfile(file2).write ""
if dir(file1)="" then shell.popup file1&"不存在,程序无法执行!",3,wscript.scriptname,64:wscript.quit '如果aaa不存在的话程序自动退出
if open.getfile(file1).size=0 then shell.popup file1&"是空文件,程序无法执行!",3,wscript.scriptname,64:wscript.quit '如果aaa是空文件的话程序自动退出
read1=open.opentextfile(file1).readall
if dir(tmp2)="" then open.createtextfile(tmp2).write ""
if dir(tmp1)="" then
open.createtextfile(tmp1).write read1
if open.getfile(file1).size<>open.getfile(tmp1).size then
file1,file2
if open.getfile(file2).size<>open.getfile(tmp2).size then
shell.run file3,,1
shell.appactivate prtitle
shell.sendkeys button
else
popup file2&"没有变化",3,wscript.scriptname,64 '如不需提示可删除此行
'shell.run file3,,1
'shell.appactivate prtitle
'shell.sendkeys button
'wscript.quit '如果bbb没有更新的话就退出程序.这里如需要退出就把这一行第一个'字符去掉即可退出.反之如果不需要则不管或删除此行.若需要执行某C程序则将上面3行前面的'去掉
end if
else
popup file1&"没有变化,如果是第一次运行本程序,请再运行一次.",3,wscript.scriptname,64 '如不需提示可删除此行
end if
else
if open.getfile(file1).size<>open.getfile(tmp1).size then
file1,file2
if open.getfile(file2).size<>open.getfile(tmp2).size then
shell.run file3,,1
shell.appactivate prtitle
shell.sendkeys button
else
shell.popup file2&"没有变化",3,wscript.scriptname,64 '如不需提示可删除此行
'shell.run file3,,1
'shell.appactivate prtitle
'shell.
'shell.sendkeys button
'wscript.quit '如果bbb没有更新的话就退出程序.这里如需要退出就把这一行第一个'字符去掉即可退出.反之如果不需要则不管或删除此行.若需要执行某C程序则将上面3行前面的'去掉
end if
else
shell.popup file1&"没有变化",3,wscript.scriptname,64 '如不需提示可删除此行
end if
end if
'wscript.sleep 1000*30 '30秒执行一次
'loop 循环结束
'==================================
'代码没有经过任何测试,如果不符合实际要求.可以网络hi我.怎么用法自己调整.如需要循环执行将32行的'do前面的'去掉,和76行的'loop前面的'去掉.循环的时候系统肯定会很慢,不保证能正常使用电脑.如需定时循环一次可以将75行最前面的'去掉.
'==================================
D. 求几个维护计算机用的JS.BAT.vbs脚本,要实用的哈!!满分奉上
给你一个清理系统垃圾的bat脚本文件。
把下面这段代码复制一下,在你桌面上存成一个TXT文件,就是在桌面新建-TXT文件,名字随便起,我起的名字叫“垃圾清理”,然后后缀名改为.bat
以后使用的时候双击就ok了。
@echo off
echo 正在清理系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清理系统垃圾完成!
echo. & pause
不明白的话再追问。
E. 需要一段VBS脚本-直接.vbs就可以用的
给个思路:
打开文件,用LineInput读入一行,Sendkeys模拟回车,根据需要延时。
循环采用Do
While比较好,判定是否文件尾,是则终止,不是继续循环。
F. word-利用vbs写一个脚本
Vbs 脚本编程简明教程之一—为什么要使用Vbs?
在Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周
也许需要对一些计算机文件进行复制、粘贴、改名、删除,也许你每天启动计算机第一件事情
就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造
一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据
按照某种规则排列起来……。这些事情重复、琐碎,使人容易疲劳。
第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,我也尝试
过使用计算机语言编写程序来解决这些问题,但是随之而来的命令、语法、算法、系统框架和
类库常常让我觉得这样是否有必要,难道就是因为猪毛比较难拔,所以我就要去学习机械,为
自己设计一个拔猪毛机(?)吗?
Vbs 是一种Windows 脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化
BASIC 脚本版),VBS 是Visual Basic 的的一个抽象子集,是系统内置的,用它编写的脚本代码
不能编译成二进制文件,直接由Windows 系统执行(实际是一个叫做宿主host 的解释源代码并
执行),高效、易学,但是大部分高级语言能干的事情,它基本上都具备,它可以使各种各样的
任务自动化,可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率。
我个人认为Vbs 脚本其实就是一种计算机编程语言,但是由于缺少计算机程序设计语言中的部
分要素,对于事件的描述能力较弱,所以称为脚本,它最方便的地方就是提供了对COM 对象
的简便支持。那么什么是COM 对象呢?
我这样理解,COM 对象就是一些具有特定函数功能项程序模块,他们一般以ocx 或者dll 作为
扩展名,你只要找到包含有你需要的功能的模块文件,并在脚本中规范的引用,就可以实现特
定的功能,也就是说Vbs 脚本就是调用现成的“控件”作为对象,用对象的属性和方法实现目的,
完全免去了编写代码、设计算法等等麻烦。说白了,我不是觉得拔猪毛麻烦么?我发觉xx 机(比
如真空离心器)有一个功能可以实现脱毛,ok,我把它拿来给猪脱毛。什么?大材小用?太浪
费资源了?天哪,那是计算机芯片的事情,死道友不死贫道,反正我的事情是方便快速的解决
了,这就行了。
最方便的是它甚至不需要专门的开发环境,在你的计算机中,只要有notepad,就可以编写Vbs
脚本了,并且可以直接执行。
===============================
Vbs 脚本编程简明教程之二—如何开始第一个Vbs 脚本?
就像多数计算机教程一样,我们从“Hello World!”程序开始我们的练习。什么?不知道是什
么意思?就是说大部分的计算机程序设计教程开篇入门都是编写一个小程序,执行这个程序的
结果就是在计算机的屏幕上或者dos 窗口中显示一行文字:Hello World!好了,我们开始吧。
打开你的“记事本”程序,在编辑窗口填写:
msgbox "He llo World!"
然后用鼠标单击“文件”菜单,单击“保存”,把“保存在”一栏设为桌面,在“文件名”一栏中填写
kk.vbs,单击“保存”就可以了。然后最小化“记事本”窗口,在桌面上寻找你刚刚保存的kk.vbs,
然后双击。看到弹出的对话框了没有,单击“确定”,对话框消失了。难看了点,不过确实是你
编写的第一个脚本程序。
说明之一:上面的操作中,保存位置放在桌面,仅仅是为了执行方便,你保存到其他的地方完
全没有问题,只要你知道你保存在什么地方就可以了,什么?是废话,自己保存的当然知道保
存在那里了。不,自己保存的文件自己找不到的人我见的多了去了。文件名你可以随意填写,
不一定非要写kk,只要符合Windows 的文件命名规则就可以了,但是扩展名必须是vbs,什么?
不知道什么是扩展名?就是文件名中“.”后的那部分,简单说,就是vbs 脚本文件命名时必须是:
xxx.vbs,其中xxx 你随意。
说明之二:在记事本编辑窗口中写的这行是什么意思?
Msgbox 是VBS 内建的函数,每一个函数都可以完成一定的功能,你只需要按照语法要求,在
函数的相应部分填写相应的内容就可以了,这部分内容我们称为参数,当然函数执行的结果我
们称为返回值,一个函数可以有返回值也可以没有,可以有参数也可以没有。你不用了解函数
是怎么运作的,只要了解这个函数能干什么就行了。
Msgbox 语法:msgbox "对话框内容", , "对话框的标题"
你不妨用记事本打开刚才的文件在编辑窗口中输入:
msgbox "He llo World!" , , "系统提示"
执行一下,看看效果和位置。
说明之三:如果执行失败,看看你的标点符号,所有的标点符号必须是在英文状态下输入的。
当然,这个脚本实在是太简单了,甚至连最简单的交互都没有,所以你可以把脚本这样修改一
下:
Dim name
name=Inputbox("请输入你的名字:","名称")
Msgbox name, , "您的名字是"
保存执行一下,看到弹出的对话框了么?填入你的名字,点确定,看到结果了吗?
说明之一:第一句是定义变量,dim 是定义变量的语句
其格式为:dim 变量1,变量2……,
Vbs 只有一种变量类型,所以不用声明变量类型。系统会自动分辨变量类型。
说明之二:inputbox 是VBS 内建的函数,可以接受输入的内容,其语法格式为:
Inputbox("对话框内容","对话框标题")
第二句的意思是接受用户的输入,并把输入结果传递给变量name。
好了,到此脚本基本的输入输出函数都有了,已经可以完成一些比较简单的功能了,你可以编
写一个简单的脚本,然后拷贝的“程序”—>“启动”中,然后重新启动计算机看看结果。
G. 求个VBS脚本,功能如下,最近在学习VBS,如能加下注释的话,不胜感激!
下面代码能实现你的目的,有问题或者不懂的地方就追问哈。
Do
WScript.Sleep 1000 '间隔时间1S,如果不加的话CPU使用率会很高
ProcessClose("kill.exe") '调用下面的关闭进程的Function
Loop '无限循环
Function ProcessClose(ProcessName)
set MWI=GetObject("winmgmts:\\.\root\cimv2") '创建WMI对象
set Pro=MWI.ExecQuery("select * from win32_process where name='" & ProcessName & "'")
For Each ID In Pro 枚举名字为kill.exe的进程
ID.Terminate() '关闭该进程
next
End Function
H. 求一个能定时关机的VBS 脚本
Set colOperatingSystems = GetObject("winmgmts:{(Shutdown)}").ExecQuery("Select * from Win32_OperatingSystem")
Function shut()
setTime=InputBox("请输入多少时间后关机(单位:秒)"," 定时关机", "", 100, 100)
If setTime<>"" Then
IF IsNumeric(setTime) Then
timeS=setTime*1000
wscript.sleep timeS
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(1)
Next
Else wscript.echo "输入错误,请重试"
shut()
End If
Else wscript.echo "操作取消"
End If
End function
shut()
I. 谁能帮我编个VBS的脚本,要求要一直按下SHIFT键
vbs使用sendkeys模拟按键,一次只能按一次(指定次数),不能“按住不放”。只能通过循环模拟不停地按shift键,但这个跟你的要求就不一致了。
你可以尝试用AutoIt脚本或按键精灵脚本。AutoIt要按住(保持按下状态)shift键
Send("{SHIFTDOWN}") ;按住shift键
然后用HotKeySet设置一个热键用于停止,停止的代码:
Send("{SHIFTUP}") ;松开shift键
AutoIt可以编译为exe文件直接运行的(即使电脑没装AutoIt也可以运行)。
下面是参考程序(使用GUI上的按钮来控制):
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("按键控制", 156, 65, 192, 114, -1, $WS_EX_TOPMOST)
$Button1 = GUICtrlCreateButton("按下Shift", 40, 16, 81, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If GUICtrlRead($Button1) == "按下Shift" Then
Send("{SHIFTDOWN}")
GUICtrlSetData($Button1, "弹起Shift")
ElseIf GUICtrlRead($Button1) == "弹起Shift" Then
Send("{SHIFTUP}")
GUICtrlSetData($Button1, "按下Shift")
EndIf
EndSwitch
WEnd
J. 谁可以用vbs做一个脚本,要求必须是无限循环 当按下*键时停止 ,要是能后台运行最好,谢谢。在线等!!!
这个单独用VBS是完成不了的,因为要模拟键盘还要设置热键,最好用AHK,AUTOIT或者易语言之类的自己写一个,代码很简单。