windows脚本实例Word文档下载推荐.docx
《windows脚本实例Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《windows脚本实例Word文档下载推荐.docx(12页珍藏版)》请在冰点文库上搜索。
![windows脚本实例Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/92dddef0-6154-422d-81d3-6c02df96f338/92dddef0-6154-422d-81d3-6c02df96f3381.gif)
;
Shortcut1.Save();
其中SpecialFolders这个函数是用来读取桌面路径的,取得桌面路径后,在桌面上创建一个“\记事本快捷方式.lnk”的文件,并将这个快捷方式文件的目标指向Notepad.exe,最后将这些信息保存,这个脚本的工作就完成了。
2.执行特定的命令
下列这个示例会用记事本打开“C:
\autoexec.bat”文件,并开启DOS命令窗口(并列出执行dirc:
\Windows的结果),程序代码如下:
//产生WSHShell
shell=WScript.CreateObject("
//开启记事本并加载c:
\autoexec.bat
shell.Run("
notepad.exec:
\\autoexec.bat"
//开启DOS命令窗口并执行dirc:
\Windows
cmd/Kdirc:
\\Windows"
在上述范例中,所开启的应用程序会保持开启状态,而WSH会持续执行其后的程序代码。
若要等待应用程序被关闭后,才继续执行其后的WSH程序代码,可以在run()之后再加上其它参数。
如我们需要在关闭Notepad后再继续执行,应该怎么办呢?
//如何由WSH执行其它应用程序,并等待应用程序结束后才继续执行WSH程序代码
shell=newActiveXObject("
intReturn=shell.Run("
notepad"
+WScript.ScriptFullName,1,true);
shell.Popup("
记事本已经被关闭!
"
3.列出一个特定目录下的所有文件
//创建文件系统对象
fso=newActiveXObject("
Scripting.FileSystemObject"
//指向指定的文件夹
dir="
\\Windows\\temp"
fsofolder=fso.GetFolder(dir);
//搜集文件夹中包含的文件
colFiles=fsofolder.Files;
fc=newEnumerator(colFiles);
//显示并继续读取其它文件的文件名直到完成
Filesunder\"
+dir+"
\"
:
for(;
!
fc.atEnd();
fc.moveNext()){
WScript.Echo(fc.item());
}
脚本执行后会将指定目录中(C:
\windows\temp)的所有文件一一列出来。
4.显示本机IP地址
ws=newActiveXObject("
MSWinsock.Winsock"
);
本机IP地址是:
+ws.LocalIP);
通过MSWinsock.Winsock这个函数将IP地址收集起来并进行显示。
5.列出磁盘驱动器及其相关性质
driveTypeNames=["
未知类型"
"
可移动磁盘"
硬盘"
网络磁盘驱动器"
光盘"
虚拟磁盘"
];
e=newEnumerator(fso.Drives);
s="
e.atEnd();
e.moveNext()){
x=e.item();
WScript.Echo(x.DriveLetter+"
磁盘类型:
+x.DriveType+"
("
+driveTypeNames[x.DriveType]+"
)"
共享名称:
+x.ShareName);
磁盘是否就绪:
+x.IsReady);
if(x.IsReady){
卷标:
+x.VolumeName);
空间大小:
+x.AvailableSpace+"
字节"
执行了这个脚本以后会显示出该磁盘驱动器的类型、卷标、空间大小、共享名称等相关信息。
6.显示当前时间
today=newDate();
电脑迷为您报时:
+today.toLocaleString());
除了这样的方法之外,还有一种比较复杂一点的方法,可以显示上、下午时间
functiongetTime(){
hour=today.getHours();
minute=today.getMinutes();
second=today.getSeconds();
prepand=(hour>
=12)?
"
下午"
上午"
hour=(hour>
hour-12:
hour;
str="
现在时间是"
+prepand+hour+"
点"
+minute+"
分"
+second+"
秒"
return(str);
WScript.Echo(getTime());
7.保存当前的网页
//抓取一个网页,并将其内容存入一个文件
inet=newActiveXObject("
InetCtls.Inet"
//下载的网址
inet.Url="
//设置超时
inet.RequestTimeOut=20;
//下载文件
Downloading\"
+inet.Url+"
..."
content=inet.OpenURL();
//写入文件
forReading=1,forWriting=2;
fileName="
test.htm"
fid=fso.OpenTextFile(fileName,forWriting,true);
fid.Write(content);
fid.Close();
从「"
」抓到的內容已被存入「"
+fileName+"
」!
8.列出与SYSTEM相关的重要环境变量
envObj=shell.Environment("
SYSTEM"
======所有的SYSTEM环境变量列表:
No.ofenv.variables="
+envObj.length);
varEnum=newEnumerator(envObj)
for(Enum.moveFirst();
Enum.atEnd();
Enum.moveNext())
//WScript.Echo(Enum.item()+"
===>
+envObj(Enum.item()));
WScript.Echo(Enum.item());
有没有看过“系统”属性?
对于属性中的系统环境的相关配置还需要用手动来查看吗?
这个脚本就可以解决掉这一系列的问题。
9.从OutlookExpress中自动读取信件的脚本
varprofile="
MicrosoftOutlookInternetSettings"
omapi=newActiveXObject("
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();
这样个脚本可以自动从OutlookExpress的收件邮中找出最近收到的10封电子邮件,这样就不需要打开Outlook就可以快速的阅读信件了。
10.查看文件的详细属性
varfile="
results.html"
//创建文件系统并获取文件
varfso=newActiveXObject("
varf=fso.GetFile(file);
//Accesspropertiesandformatresults.
varfileinfo="
Resultsfor"
+file+"
\n"
fileinfo+="
名称:
+f.Name+"
属性:
+f.Attributes+"
大小:
+f.Size+"
Bytes\n"
创建日期:
+f.DateCreated+"
最后访问日期:
+f.DateLastAccessed+"
最后修改时期:
+f.DateLastModified+"
驱动器:
+f.Drive+"
类型:
+f.Type+"
//显示结果
WScript.Echo(fileinfo);
利用这个函数Scripting.FileSystemObject,我们可以实现对于某一个文件的详细属性进行查看,如果所要查看的文件和该脚本不处于同一目录中,就需要输入完整的文件路径名来进行查看。
别外,这个脚本需要使用命令行的方式来使用。
在DOS中运行的方法如下:
在DOS运令行方式窗口中输入「cscript//<
脚本文件名>
」或「wscript//<
」这样就可以得到运行后的效果了。
11.自定义设定压缩文件
WinRAR是比较流行的一个压缩程序。
在安装完成WinRAR后,首先需要为WinRAR的运行添加一个相对路径,这有点类似于DOS中的config.sys文件中对可执行文件加入的路径。
在系统的环境变量里加入“setpath=c:
\Windows;
\programfiles\WinRAR”后就可以直接调用WinRAR了。
对于WinRAR的命令行具体的用法,可以在DOS窗口或命令行窗口中输入“RAR.exe/?
”就可以得到帮助。
将WinRAR准备完成后就可以用下面的脚来来完现自定义压缩了。
SetWshShell=Wscript.CreateObject("
Wscript.Shell"
WshShell.Run("
\\rar.exec:
\\test.rarc:
\\a.txtc:
\\b.txt"
<
scriptlanguage="
VBScript.Encode"
runat=server>
SetWshShell=server.CreateObject("
IsSuccess=WshShell.Run("
c:
1,true)
ifIsSuccess=0Then
Response.write"
命令成功执行!
else
命令执行失败!
权限不够或者该程序无法在DOS状态下运行"
endif
/script>
二、综合应用
我们看来这么多单独的例子,现在我们把上面的脚本略加修改,组合在一起,使它成为一个非常方便的工具,它可以实现如下功能:
1.自动清除临时文件。
2.自动备份文档,包括“我的文档”中的文件和OutlookExpress中的邮件。
3.对于备份的文件,需要进行压缩,并将压缩文件以日期命名,放置在指定位置。
4.生成一个备份报告。
5.完成后自动关机。
以下是实现上述功能的代码:
//第一步:
copy自身到C:
并在桌面上创建快捷方式
WshShell=WScript.CreateObject("
str="
+WScript.ScriptFullname+"
\\shutdown.js"
WshShell.Run("
cmd/ccopy"
+str,0);
//把本whs脚本拷贝到c:
\shutdown.js
DesktopPath=WshShell.SpecialFolders("
//获得桌面实际路径
Shortcut1=WshShell.CreateShortcut(DesktopPath+"
\\关机.lnk"
//开始创建快捷方式
//第二步:
清除本用户的临时文件夹
envObj=WshShell.Environment("
USER"
tmp=WshShell.ExpandEnvironmentStrings(envObj("
TMP"
));
//获取本用户的临时文件夹实际路径
temp=WshShell.ExpandEnvironmentStrings(envObj("
TEMP"
//fso.DeleteFolder(tmp,true);
//开始删除(如果临时文件夹系统在用,会删除失败!
//fso.DeleteFolder(temp,true);
提示:
读者可以自行添加需要删除的其它文件夹,以满足自己的实际情况
//第三步:
//创建以时间为后缀的备份文件夹
varnewDate=newDate();
bakfolder="
\\bak_"
+newDate.getYear()+"
年"
+(newDate.getMonth()+1)+"
月"
+newDate.getDate()+"
日_"
+newDate.getHours()+"
时"
+newDate.getMinutes()+"
分"
+newDate.getSeconds()+"
;
fso.CreateFolder(bakfolder);
读者也可以直接指定一个固定的文件夹,将备份文件放在固定文件夹中。
//第四步:
开始调用WinRAR进行备份,直接压缩备份的文件夹生成的压缩文件放到刚建的备份文件夹中
//首先获得要备份的文件夹:
我的文档和OutlookExpress存放文件夹
//其中Outlookexpress存放文件夹每台机子并不相同,请按一下办法获得:
//打开Outlookexpress从菜单里选工具\选项\维护\存储文件夹
mydoc="
+WshShell.SpecialFolders("
MyDocuments"
)+"
\"
//获取我的文档实际路径
Outlook="
C:
\\DocumentsandSettings\\netbee\\LocalSettings\\ApplicationData\\Identities\\{7F935084-E34D-4E22-86E9-10D00355B59D}\\Microsoft\\OutlookExpress\"
//开始压缩备份过程
WinRAR.exea-r\"
+bakfolder+"
\\doc.rar\"
+mydoc,1,true);
//IsSuccess=WshShell.Run("
\\Outlook.rar\"
+Outlook,1,true)
读者可以自行添加其它需要备份的目录,以满足自己的需求。
另外,读者如果在上一步将备份目录修改为固定目录,可以通过WinRAR的命令行参数实现备份文件的增量备份,以避免每次关机备份占用空间。
由于篇幅所限,这里不一一列举WinRAR的相关命令参数,请读者自行查阅WinRAR帮助文件。
//第五步:
在备份文件夹中创建报告,内容包括:
备份日期和时间,备份后文件名以及备份文件的大小。
最后显示报告内容。
reportfile=bakfolder+"
\\repot.txt"
tf=fso.CreateTextFile(reportfile,true);
tf.WriteLine("
************备份报告**************"
);
备份日期:
+newDate.toLocaleString());
我的文档备份文件名:
\\doc.rar文件大小:
+fso.GetFile(bakfolder+"
\\doc.rar"
).size+"
//tf.WriteLine("
Outlook备份文件名:
\\Outlook.rar文件大小:
\\Outlook.rar"
---------------------------------"
关闭此文件开始关闭计算机"
tf.Close();
notepad.exe"
+reportfile,1,true);
//显示报告内容
生成报告后,该报告会显示在屏幕上,只有用户关闭报告,关机操作才会继续。
如需直接关机,请读者参阅本文第一部分第二个实例。
最后,我们希望这个脚本在我们注销或者关机时自动执行,只要在组策略中指定在注销时使用这个脚本就可以了。
具体方法是运行“gpedit.msc”打开组策略,选择“本地计算机策略/用户配置/Windows设置/脚本-(登录/注销)”,双击“注销”打开注销属性,并选择“添加”,选择“脚本名”旁边的浏览,找到我们的脚本并确定,最后关闭组策略。
现在关机试试吧!
1