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或者易語言之類的自己寫一個,代碼很簡單。