好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > vbs實用軟件自造——Windows腳本應用實例

vbs實用軟件自造——Windows腳本應用實例

熱門標簽:琿春電子地圖標注 聯通能辦理400電話是多少錢 福建外呼系統購買 鴿森地圖標注 地圖標注都什么意思 百度地圖標注的位置怎么更改 福建醫療智能外呼系統哪家好 菏澤電銷機器人管理軟件 龍族幻想白銀異聞天使地圖標注
從Windows 98時代起,各種腳本文件不斷出現,腳本文件的作用是為了實現各種腳本文件在 Windows 界面或 Dos 命令提示符下的直接運行,微軟就在系統內植入了一個基于 32 位 Windows 平臺、獨立的腳本運行環境,并將其命名為“Windows Scripting Host(Windows 腳本宿主以下簡稱WSH)”。
WSH 誕生后,在 Windows 系列產品中很快得到了推廣。除 Windows 98 外,微軟在 Internet Information Server、Windows ME、Windows 2000系列產品以及 Windows XP Professional等產品中都嵌入了 WSH。一般來說,各種軟件總要考慮多數人的習慣和需求,而對于一些個性化很強的需求,通用軟件則很難滿足。現在利用WSH,我們可以完成很多有趣又實用的功能,而且實現代碼非常簡單,而且完全是為自己量身定做,100%滿足自己的需求。這么簡單、實用有有趣的東西,怎么可以放過呢? 
一、WSH是怎么樣工作的
WSH正常工作的前提條件是系統中必須有IE3.0以上的版本,因為 WSH 在工作時需要使用IE 中的 VBScript 和 JScript 解釋引擎。
首先,我們來看一個最簡單的例子,打開記事本,在其中寫下:
WScript.Echo("你好!電腦")
然后將它為以 .vbs 或 .js 為后綴名(千萬不能保存為TXT文件,保存的時候在“文件類型”中選擇“所有文件”)的文件進行保存,然后關掉這個記事本。從文件的圖標來看已經變成一個腳本文件,雙擊執行這個文件,看看結果吧(如圖1),我們編輯的第一個腳本已經成功運行啦!
圖1
現在,就讓我們來看看腳本文件經由WSH執行的過程。首先WSH根據腳本文件后綴名,在系統注冊表中查詢所需的腳本引擎時,如VBScript或者JScript。然后使用相應的腳本引擎執行腳本命令,其中,一些腳本指令會使用到WSH的內置對象(如處理注冊表項),這時,腳本指令就會向WSH提出請求,并由WSH完成這些指令。
那么,如何去編寫并運行WSH腳本呢?WSH腳本文件的編寫十分方便,你可以選用任意一個文字編輯器進行編寫,寫完后,你只需將它保存為 WSH 所支持的文件名就行了(如 .js 文件、.vbs 文件)。最常用的編輯器就是我們編寫第一個腳本文件用到的記事本(Notepad)了。

一、WSH初步
下面,我們來看看一些WSH的初步實例,其中每個實例可以實現一個簡單的功能,在我們了解每個實例的功能后,我們會把這些例子綜合成一個非常實用的腳本,幫助你實現實用、個性化的強大功能。
1.在桌面創建快捷方式
WSHShell = WScript.CreateObject("WScript.Shell");
DesktopPath = WSHShell.SpecialFolders("Desktop");
Shortcut1 = WSHShell.CreateShortcut(DesktopPath + "\\記事本快捷方式.lnk");
Shortcut1.TargetPath = "c:\\Windows\\notepad.exe";
Shortcut1.Save();
其中SpecialFolders這個函數是用來讀取桌面路徑的,取得桌面路徑后,在桌面上創建一個“\記事本快捷方式.lnk”的文件,并將這個快捷方式文件的目標指向Notepad.exe,最后將這些信息保存,這個腳本的工作就完成了。

2.執行特定的命令
下列這個示例會用記事本打開“ C:\autoexec.bat”文件,并開啟 DOS 命令窗口(并列出執行 dir c:\Windows 的結果),程序代碼如下: 

// 產生 WSH Shell
shell = WScript.CreateObject("WScript.Shell");

// 開啟記事本并加載 c:\autoexec.bat
shell.Run("notepad.exe c:\\autoexec.bat");

// 開啟 DOS 命令窗口并執行 dir c:\Windows
shell.Run("cmd /K dir c:\\Windows");


在上述范例中,所開啟的應用程序會保持開啟狀態,而 WSH 會持續執行其后的程序代碼。若要等待應用程序被關閉后,才繼續執行其后的 WSH 程序代碼,可以在 run() 之后再加上其它參數。如我們需要在關閉Notepad后再繼續執行,應該怎么辦呢?

// 如何由 WSH 執行其它應用程序,并等待應用程序結束后才繼續執行 WSH 程序代碼
shell = new ActiveXObject("WScript.Shell");
intReturn = shell.Run("notepad " + WScript.ScriptFullName, 1, true);
shell.Popup("記事本已經被關閉!");

3.列出一個特定目錄下的所有文件
//創建文件系統對象
fso = new ActiveXObject("Scripting.FileSystemObject");
//指向指定的文件夾
dir="c:\\Windows\\temp";
fsofolder = fso.GetFolder(dir);
//搜集文件夾中包含的文件
colFiles = fsofolder.Files;
fc = new Enumerator( colFiles );
//顯示并繼續讀取其它文件的文件名直到完成
WScript.Echo("Files under \""+dir+"\":");
for (; !fc.atEnd(); fc.moveNext() ){
WScript.Echo(fc.item());
}
腳本執行后會將指定目錄中(C:\windows\temp)的所有文件一一列出來。

4.顯示本機IP地址
ws = new ActiveXObject( "MSWinsock.Winsock" );
WScript.Echo("本機IP地址是:" + ws.LocalIP);
通過MSWinsock.Winsock這個函數將IP地址收集起來并進行顯示。

5.列出磁盤驅動器及其相關性質

fso = new ActiveXObject("Scripting.FileSystemObject");
driveTypeNames=["未知類型", "可移動磁盤", "硬盤", "網絡磁盤驅動器", "光盤", "虛擬磁盤"];
e = new Enumerator(fso.Drives); 
s = "";
for (; !e.atEnd(); e.moveNext()) {
x = e.item();
WScript.Echo(x.DriveLetter+":")
WScript.Echo(" 磁盤類型:" + x.DriveType + " (" + driveTypeNames[x.DriveType] + ")");
WScript.Echo(" 共享名稱:" + x.ShareName);
WScript.Echo(" 磁盤是否就緒:" + x.IsReady);
if (x.IsReady){
WScript.Echo(" 卷標:" + x.VolumeName);
WScript.Echo(" 空間大小:" + x.AvailableSpace + "字節");
}
}
執行了這個腳本以后會顯示出該磁盤驅動器的類型、卷標、空間大小、共享名稱等相關信息。

6.顯示當前時間
today = new Date();
WScript.Echo("電腦迷為您報時:"+today.toLocaleString());
除了這樣的方法之外,還有一種比較復雜一點的方法,可以顯示上、下午時間
function getTime() {
today = new Date();
hour = today.getHours();
minute = today.getMinutes();
second = today.getSeconds();
prepand = (hour>=12)? "下午":"上午";
hour = (hour>=12)? hour-12:hour;
str = "現在時間是"+prepand+hour+"點"+minute+"分"+second+"秒";
return(str);
}
WScript.Echo(getTime());

7.保存當前的網頁
// 抓取一個網頁,并將其內容存入一個文件
inet=new ActiveXObject("InetCtls.Inet");
// 下載的網址
inet.Url="http://www.pcfans.net/index.htm";
// 設置超時
inet.RequestTimeOut=20;
// 下載文件
WScript.Echo("Downloading \""+inet.Url+"\"...");
content = inet.OpenURL();

// 寫入文件
fso = new ActiveXObject("Scripting.FileSystemObject");
forReading=1, forWriting=2;
fileName="test.htm";
fid=fso.OpenTextFile(fileName, forWriting, true);
fid.Write(content);
fid.Close();
WScript.Echo("從「"+inet.Url+"」抓到的內容已被存入「"+fileName+"」!");

8.列出與 SYSTEM 相關的重要環境變量
shell = WScript.CreateObject("WScript.Shell");
envObj = shell.Environment("SYSTEM");

WScript.Echo("====== 所有的 SYSTEM 環境變量列表:");
WScript.Echo("No. of env. variables = "+envObj.length);
var Enum=new Enumerator(envObj) 
for (Enum.moveFirst(); !Enum.atEnd(); Enum.moveNext())
// WScript.Echo(Enum.item()+" ===> "+envObj(Enum.item()));
WScript.Echo(Enum.item());
有沒有看過“系統” 屬性?對于屬性中的系統環境的相關配置還需要用手動來查看嗎?這個腳本就可以解決掉這一系列的問題。


9.從Outlook Express中自動讀取信件的腳本
var profile = "Microsoft Outlook Internet Settings";
omapi = new ActiveXObject( "MAPI.Session" ); 
omapi.Logon( profile );
objFolder = omapi.Inbox;
objMsg = objFolder.Messages;
myMsg = objMsg.GetFirst();
msg = myMsg.Text;
WScript.Echo( msg );
for ( i = 0; i  10; i++ )
{
myMsg = objMsg.GetNext();
msg = myMsg.Text;
WScript.Echo( msg );
}
這樣個腳本可以自動從Outlook Express的收件郵中找出最近收到的10封電子郵件,這樣就不需要打開Outlook就可以快速的閱讀信件了。


10.查看文件的詳細屬性
var file = "results.html";
// 創建文件系統并獲取文件 
var fso = new ActiveXObject( "Scripting.FileSystemObject" );
var f = fso.GetFile( file );
// Access properties and format results. 
var fileinfo = "Results for " + file + "\n";
fileinfo += "名稱:" + f.Name + "\n";
fileinfo += "屬性:" + f.Attributes + "\n";
fileinfo += "大小:" + f.Size + " Bytes\n";
fileinfo += "創建日期:" + f.DateCreated + "\n";
fileinfo += "最后訪問日期:" + f.DateLastAccessed + "\n";
fileinfo += "最后修改時期:" + f.DateLastModified + "\n";
fileinfo += "驅動器:" + f.Drive + "\n";
fileinfo += "類型:" + f.Type + "\n";
// 顯示結果
WScript.Echo( fileinfo );

利用這個函數Scripting.FileSystemObject,我們可以實現對于某一個文件的詳細屬性進行查看,如果所要查看的文件和該腳本不處于同一目錄中,就需要輸入完整的文件路徑名來進行查看。別外,這個腳本需要使用命令行的方式來使用。
在DOS中運行的方法如下:在 DOS 運令行方式窗口中輸入「cscript //腳本文件名>」或「wscript //腳本文件名>」這樣就可以得到運行后的效果了。


11.自定義設定壓縮文件
WinRAR是比較流行的一個壓縮程序。在安裝完成WinRAR后,首先需要為WinRAR的運行添加一個相對路徑,這有點類似于DOS中的config.sys文件中對可執行文件加入的路徑。在系統的環境變量里加入“set path=c:\Windows;c:\program files\WinRAR”后就可以直接調用WinRAR了。對于WinRAR的命令行具體的用法,可以在DOS窗口或命令行窗口中輸入“RAR.exe /?”就可以得到幫助。
將WinRAR準備完成后就可以用下面的腳來來完現自定義壓縮了。

Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("c:\\rar.exe c:\\test.rar c:\\a.txt c:\\b.txt")
script language="VBScript.Encode" runat=server>
Set WshShell = server.CreateObject("Wscript.Shell")
IsSuccess = WshShell.Run (" c:\\rar.exe c:\\test.rar c:\\a.txt c:\\b.txt" ,1, true)
if IsSuccess = 0 Then 
Response.write " 命令成功執行!"
else 
Response.write " 命令執行失敗!權限不夠或者該程序無法在DOS狀態下運行"
end if
/script>
二、綜合應用
我們看來這么多單獨的例子,現在我們把上面的腳本略加修改,組合在一起,使它成為一個非常方便的工具,它可以實現如下功能:
1.自動清除臨時文件。
2.自動備份文檔,包括“我的文檔”中的文件和Outlook Express中的郵件。
3.對于備份的文件,需要進行壓縮,并將壓縮文件以日期命名,放置在指定位置。
4.生成一個備份報告。
5.完成后自動關機。
以下是實現上述功能的代碼:
//第一步:copy自身到C: 并在桌面上創建快捷方式
WshShell = WScript.CreateObject("WScript.Shell");
str="\""+WScript.ScriptFullname+"\" c:\\shutdown.js"
WshShell.Run("cmd /c copy "+str,0); //把本whs腳本拷貝到c:\shutdown.js
DesktopPath = WshShell.SpecialFolders("Desktop");//獲得桌面實際路徑
Shortcut1 = WshShell.CreateShortcut(DesktopPath + "\\關機.lnk"); //開始創建快捷方式
Shortcut1.TargetPath = "c:\\shutdown.js";
Shortcut1.Save();


//第二步:清除本用戶的臨時文件夾
envObj = WshShell.Environment("USER");
tmp=WshShell.ExpandEnvironmentStrings(envObj("TMP")); //獲取本用戶的臨時文件夾實際路徑
temp=WshShell.ExpandEnvironmentStrings(envObj("TEMP"));//獲取本用戶的臨時文件夾實際路徑

fso = new ActiveXObject("Scripting.FileSystemObject");
//fso.DeleteFolder(tmp,true ); //開始刪除(如果臨時文件夾系統在用,會刪除失敗!)
//fso.DeleteFolder(temp,true ); 

提示:讀者可以自行添加需要刪除的其它文件夾,以滿足自己的實際情況


//第三步://創建以時間為后綴的備份文件夾
var newDate = new Date();
bakfolder="c:\\bak_"+newDate.getYear()+"年"+(newDate.getMonth()+1)+"月"+newDate.getDate()+"日_"+newDate.getHours()+"時"+newDate.getMinutes()+"分"+newDate.getSeconds()+"秒" ;
fso.CreateFolder(bakfolder);

提示:讀者也可以直接指定一個固定的文件夾,將備份文件放在固定文件夾中。

//第四步:開始調用WinRAR進行備份,直接壓縮備份的文件夾生成的壓縮文件放到剛建的備份文件夾中
//首先獲得要備份的文件夾:我的文檔和Outlook Express存放文件夾
//其中Outlook express存放文件夾每臺機子并不相同,請按一下辦法獲得:
//打開Outlook express從菜單里選 工具\選項\維護\存儲文件夾
mydoc="\""+WshShell.SpecialFolders("MyDocuments")+"\""; //獲取我的文檔實際路徑
Outlook="\"C:\\Documents and Settings\\netbee\\Local Settings\\Application Data\\Identities\\{7F935084-E34D-4E22-86E9-10D00355B59D}\\Microsoft\\Outlook Express\"";
//開始壓縮備份過程
IsSuccess = WshShell.Run ("WinRAR.exe a -r \""+bakfolder+"\\doc.rar\" "+mydoc ,1, true);
//IsSuccess = WshShell.Run ("WinRAR.exe a -r \""+bakfolder+"\\Outlook.rar\" "+Outlook ,1, true)

提示:讀者可以自行添加其它需要備份的目錄,以滿足自己的需求。另外,讀者如果在上一步將備份目錄修改為固定目錄,可以通過WinRAR的命令行參數實現備份文件的增量備份,以避免每次關機備份占用空間。由于篇幅所限,這里不一一列舉WinRAR的相關命令參數,請讀者自行查閱WinRAR幫助文件。
//第五步:在備份文件夾中創建報告,內容包括:備份日期和時間,備份后文件名以及備份文件的大小。最后顯示報告內容。
reportfile=bakfolder+"\\repot.txt";
tf = fso.CreateTextFile(reportfile, true);
tf.WriteLine("************備份報告**************") ;
tf.WriteLine("備份日期: "+newDate.toLocaleString()) ;
tf.WriteLine("我的文檔備份文件名:"+bakfolder+"\\doc.rar 文件大小:"+fso.GetFile(bakfolder+"\\doc.rar").size+"字節") ;
//tf.WriteLine("Outlook備份文件名:"+bakfolder+"\\Outlook.rar 文件大小:"+fso.GetFile(bakfolder+"\\Outlook.rar").size+"字節") ;
tf.WriteLine("---------------------------------") ;
tf.WriteLine("關閉此文件開始關閉計算機") ;
tf.Close();
WshShell.Run("notepad.exe "+reportfile ,1, true); //顯示報告內容
提示:生成報告后,該報告會顯示在屏幕上,只有用戶關閉報告,關機操作才會繼續。如需直接關機,請讀者參閱本文第一部分第二個實例。

最后,我們希望這個腳本在我們注銷或者關機時自動執行,只要在組策略中指定在注銷時使用這個腳本就可以了。具體方法是運行“gpedit.msc”打開組策略,選擇“本地計算機策略/用戶配置/Windows設置/腳本-(登錄/注銷)”,雙擊“注銷”打開注銷屬性,并選擇“添加”,選擇“腳本名”旁邊的瀏覽,找到我們的腳本并確定,最后關閉組策略。現在關機試試吧!

標簽:資質掛靠 張掖 內蒙古 鶴壁 柳州 丹東 達州 南京

巨人網絡通訊聲明:本文標題《vbs實用軟件自造——Windows腳本應用實例》,本文關鍵詞  vbs,實用,軟件,自造,Windows,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《vbs實用軟件自造——Windows腳本應用實例》相關的同類信息!
  • 本頁收集關于vbs實用軟件自造——Windows腳本應用實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 精品国产乱码一区二区三区APP| japanese高潮护士| 国产精品视频第一区二区| 最近中文字幕免费mv在线最新| 强揉爆乳女教师2| 欧美老肥妇做.爰BBWW视频 | 史上最yin乱的婚礼| y5566成人精品视频免费| 成 人 黄 色 免费 网站无毒软件 免费无码黄网站在线看软件99 | 一二三四免费观看高清在线观看| 成人h视频在线观看免费视频| 国产特黄A三级三级三级丰满岳| 脱老丈的内裤小说| sss欧美一区二区三区| 亚洲第一页综合| 紧缚?ひき肉?奴隷| 亚洲精品无码一区二区三区久久久 | 韩国做爰无遮A片免费| 国产短视频精品一区的特点| 国产精品高清在线| 中国名人明星videoshd| 91在线免费视频| 嗯啊要| 国产成人H视频在线播放| 日韩女同互斗catfight| 毛片a区| 国产?无码?高潮电影欲动| 五月天男人的天堂| 不卡一级毛片免费高清| 做到你哭我也不会停| 麻豆国产一区二区三区四区| 特黄特色大片免费播放丶| 美女扒开腿让男生桶免费播放| 男性放进女人阳道视频| 日韩午夜无码一区二区视频| 妺妺和我裸睡玩我下面的视频| 日本高清视频在线www色| 太大了阿受不了了小说| 廣東長征機械有限公司 简介| 国产美女又黄又爽又色视频网站| 无人在线看高清视频|