1 起源
微软在系统内植入一个基于 32 位 Windows 平台、独立的脚本运行环境,并且命名为 "WHS"
Windows Scripting Host/ Windows 脚本宿主
2 工作原理
使用IE 中的 VBScript 和 JScript 解释引擎。因此, WHS有两种语法: vbs 和 js
分别保存为 vbs 文件和 js 文件。
3 WHS的使用第一步
在编辑器中写上下述代码,并且保存为 js或者vbs结尾的文件。
WScript.Echo("Hi!You")
在命令行中执行: cscript 123.js
4 WHS的应用
-------------------------------------------------------------------------------------------------
(1) 列出一个特定目录下的所有文件
-------------------------------------------------------------------------------------------------
//创建文件系统对象
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)的所有文件一一列出来。
-------------------------------------------------------------------------------------------------
(2) 列出磁盘驱动器及其相关性质
-------------------------------------------------------------------------------------------------
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 + "字节");
}
}
执行了这个脚本以后会显示出该磁盘驱动器的类型、卷标、空间大小、共享名称等相关信息。
-------------------------------------------------------------------------------------------------
(3) 列出与 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());
有没有看过“系统” 属性?
对于属性中的系统环境的相关配置还需要用手动来查看吗?
这个脚本就可以解决掉这一系列的问题。
-------------------------------------------------------------------------------------------------
(4) 查看文件的详细属性
-------------------------------------------------------------------------------------------------
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 );
-------------------------------------------------------------------------------------------------
(5) 自定义设定压缩文件
-------------------------------------------------------------------------------------------------
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>
-------------------------------------------------------------------------------------------------
(6) 清除本用户的临时文件
-------------------------------------------------------------------------------------------------
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 );
-------------------------------------------------------------------------------------------------
(7) 设定系统变量(vbs版本)
-------------------------------------------------------------------------------------------------
Set WshShell=CreateObject("WScript.Shell")
Set WshEnv=WshShell.Environment("System")
如果想设置一个系统环境变量HOME,可以用WshEnv.Item("HOME")=value来实现。
删除一个环境变量:例如WshEnv.Remove("TMP")就会删除系统变量TMP。
[01] 文件操作
[01][01]判断文件是否存在
var file = "test.cs";
var fso = new ActiveXObject( "Scripting.FileSystemObject" );
if (fso.FileExists(file)){
WScript.Echo("is exist");
}else{
WScript.Echo("is not exist");
}
[01][02]判断文件夹是否存在
var file = "test.cs";
var fso = new ActiveXObject( "Scripting.FileSystemObject" );
if (fso.
FolderExists
(file)){
WScript.Echo("is exist");
}else{
WScript.Echo("is not exist");
}
[02]wscript.shell run参数
[02][01]
指定命令窗口的样式
0 隐藏该命令窗口并激活另外一个[随便]
1 激活和显示窗口
2 激活并显示为最小化的窗口
3 激活并显示为最大化的窗口
4 显示为此类窗口最近的尺寸和位置,之前的当前窗口还是保持为当前窗口
5 激活和显示此类窗口为最近的尺寸和位置
6 最小化特定窗口并激活下一个顶层窗口
7 显示为最小化窗口
8 以当前状态显示
9 激活并显示窗口,如果是最小或最大化状态,系统会将它变成普通样式
10 以激发该命令的窗口状态来设置显示命令窗口的状态
[03]Wscrīpt.Arguments
获得命令行参数
[99]资料
http://msdn.microsoft.com/en-us/library/at5ydy31(VS.85).aspx
分享到:
相关推荐
通过阅读这本手册,开发者不仅能掌握Windows脚本语言的基本语法,还能学会如何在实际工作中运用这些知识,提高工作效率,解决系统管理和维护中的各种问题。 总的来说,《WINDOWS脚本技术手册》是一本全面且实用的...
WSH Windows 脚本宿主的基本任务 <br> 访问网络 <br> 访问网络连接 控制网络打印机 <br> 创建自动登录脚本 驱动应用程序 执行文件管理操作 <br> 复制文件和文件夹 映射到特殊文件夹...
压缩包中的“中国IT认证实验室学习下载频道.txt”可能包含了更多学习资源和相关课程信息,供读者进一步探索和实践Windows脚本技术。而“Windows脚本技术教程”很可能是本书的电子版,可以深入阅读和学习。通过结合这...
《Windows脚本技术手册》是一本深入探讨Windows脚本编程的权威指南,它涵盖了Windows操作系统中广泛使用的脚本技术,包括但不限于Windows批处理脚本、VBScript和JScript等。这些脚本技术在系统管理、自动化任务执行...
2011年11月25日的最新整理,确保了其中包含的信息是当时最新的,对于学习和掌握Windows脚本编程具有很高的参考价值。 Windows脚本技术主要包括批处理(Batch Scripting)、VBScript以及PowerShell等。这些脚本语言...
Windows脚本技术是计算机编程领域中的一个重要组成部分,它允许用户通过编写简单的脚本来自动化执行一系列在Windows操作系统上的任务。这些脚本通常使用Windows脚本宿主(Windows Script Host,WSH)来运行,支持...
Microsoft Windows 脚本宿主 (WSH) 是一种工具,它允许您在基本操作系统(Windows 95 或 Windows NT 4.0.)内部运行 Visual Basic Scripting Edition 和 JScript。 Windows 脚本接口(英文) Microsoft Windows 脚本...
本系列教程旨在帮助初学者理解Windows脚本的基础知识,掌握基本的脚本编写技巧,并逐步深入到高级主题。通过学习,读者将能够独立地创建复杂的自动化脚本来提高工作效率,解决日常维护中的重复性问题。 #### 前提...
《经典Windows脚本教程》是一份由微软官方提供的宝贵学习资源,主要涵盖了VBS(Visual Basic Script)和JS(JavaScript)在Windows环境下的脚本编程技术。这些脚本语言在系统自动化、任务调度、网页交互等多个领域都...
"Microsoft Windows脚本技术(CHM)"这个文件很可能包含了关于如何使用JS和VBScript进行Windows脚本编程的详细指南,包括但不限于基本语法、对象模型、COM组件、WMI(Windows Management Instrumentation)接口的使用...
理解批处理文件的基本语法和命令,如`copy`、`move`、`del`、`dir`等,是Windows脚本编程的基础。 接下来,VBScript(Visual Basic Scripting Edition)是一种轻量级的脚本语言,广泛应用于Windows脚本环境(WSH,...
《WINDOWS脚本技术参考手册》是一部详尽阐述Windows操作系统中脚本技术的权威指南,主要涵盖了JavaScript、JScript和VBScript这三种广泛使用的脚本语言。这些技术在系统自动化、网页交互、服务器管理等方面有着重要...
学习Windows脚本技术,首先要掌握基本的DOS命令和脚本语法,然后深入理解VBScript或JScript的语法规则,熟悉WSH提供的对象模型。开发时,可以使用Notepad++、Visual Studio Code等编辑器,通过`cscript.exe`或`...
Microsoft Windows 脚本宿主 (WSH) 是一种工具,它允许您在基本操作系统(Windows 95 或 Windows NT 4.0.)内部运行 Visual Basic Scripting Edition 和 JScript。 Windows 脚本接口(英文) Microsoft Windows ...
根据提供的标题、描述和标签,本文将详细介绍“非常网管++Windows脚本应用”的相关知识点。这包括对Windows脚本的基础介绍、脚本的应用场景、编写技巧以及在系统管理中的实际应用等方面的内容。 ### 一、Windows...
学习Windows脚本编程,你需要掌握基本的脚本语言语法,理解如何利用WSH和其他脚本宿主执行脚本,以及熟悉WMI、ActiveXObject等高级技术。此外,了解如何调试脚本和解决运行时错误也非常重要。通过实践,你可以编写出...
《Microsoft Windows 脚本技术》是一份详细探讨Windows脚本技术的资源,采用CHM(Compiled Help Manual)格式,这种格式是微软为电子手册和帮助文档设计的,便于用户检索和阅读。此压缩包中包含的核心文件"Microsoft...
《Windows 脚本编程核心技术精解》的光盘资源包含了一系列有关Windows脚本编程的实践教程和示例代码,是深入理解这一领域的宝贵资料。Windows脚本编程是一种利用脚本语言实现自动化任务的技术,主要应用于系统管理、...
总之,《Windows 脚本编程核心技术精解》这本书涵盖了VBS在Windows环境下的全面技术,包括基本语法、对象模型、系统管理、网络操作等,是学习和提升Windows脚本编程能力的宝贵资源。通过深入学习这些知识点,开发者...