JS是很好玩的东西,语法运用上没有比其它脚本语言难的地方,可是一段时间没用它,就会记不住。因此,把自己以前写过的,或者网上看到的,有用的代码,收藏在这里。
一,首先是Windows下的JS,其实应该叫 WSH 脚本。
1、HelloWorld
function
sayHello()
... {
var s=new ActiveXObject("WScript.Shell");
s.Run("notepad");
WScript.Sleep(5000);
s.AppActivate("无标题 - 记事本");
var word="H,e,l,l,o, ,w,o,r,l,d,!";
var words=word.split(",");
var i;
for(i=0;i<12;i++)
...{
s.sendKeys(words[i]);
WScript.Sleep(300);
}
s.SendKeys("{enter}");
}
sayHello();
... {
var s=new ActiveXObject("WScript.Shell");
s.Run("notepad");
WScript.Sleep(5000);
s.AppActivate("无标题 - 记事本");
var word="H,e,l,l,o, ,w,o,r,l,d,!";
var words=word.split(",");
var i;
for(i=0;i<12;i++)
...{
s.sendKeys(words[i]);
WScript.Sleep(300);
}
s.SendKeys("{enter}");
}
sayHello();
2、打开光驱
function
eject()
... {
var WMP = WScript.CreateObject("WMPlayer.OCX.7" );
var CDROMs = WMP.cdromCollection;
CDROMs.item(0).Eject();
}
eject();
... {
var WMP = WScript.CreateObject("WMPlayer.OCX.7" );
var CDROMs = WMP.cdromCollection;
CDROMs.item(0).Eject();
}
eject();
3、获取磁盘信息
//
显示信息
function showInfo(msg)
... {
var timeout=10;//10秒后自动关闭对话框
var title="磁盘信息";
var msgbox=WScript.CreateObject("Wscript.Shell");
msgbox.Popup (msg,timeout,title);
}
// 获取指定磁盘信息
function diskInfo(driveName)
... {
var fso, d, s ="",t;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(driveName));
switch(d.DriveType)
...{
case 0:t="未知类型";break;
case 1:t="移动磁盘";break;
case 2:t="本地磁盘";break;
case 3:t="网络磁盘";break;
case 4:t="光驱"; break;
case 5:t="RAM disk";break;
}
if(d.isReady)
...{
s += t+" "+driveName+" ";
s += "容量: " + (d.TotalSize / 1024/1024) + " MB ";
s += "卷标: "+d.VolumeName+" ";
s += "可用空间: " + (d.FreeSpace / 1024/1024) + " MB ";
s += "磁盘标识: " + (d.SerialNumber) + " ";
return s+" ";
}else
return t+" "+driveName+" ";
}
// 取得所有磁盘
function allDisk()
... {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var ds=new Enumerator(fso.Drives);
var msg="";
for(;!ds.atEnd();ds.moveNext())
...{
msg+=diskInfo(ds.item().DriveLetter+":");
}
showInfo(msg);
}
allDisk();
function showInfo(msg)
... {
var timeout=10;//10秒后自动关闭对话框
var title="磁盘信息";
var msgbox=WScript.CreateObject("Wscript.Shell");
msgbox.Popup (msg,timeout,title);
}
// 获取指定磁盘信息
function diskInfo(driveName)
... {
var fso, d, s ="",t;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(driveName));
switch(d.DriveType)
...{
case 0:t="未知类型";break;
case 1:t="移动磁盘";break;
case 2:t="本地磁盘";break;
case 3:t="网络磁盘";break;
case 4:t="光驱"; break;
case 5:t="RAM disk";break;
}
if(d.isReady)
...{
s += t+" "+driveName+" ";
s += "容量: " + (d.TotalSize / 1024/1024) + " MB ";
s += "卷标: "+d.VolumeName+" ";
s += "可用空间: " + (d.FreeSpace / 1024/1024) + " MB ";
s += "磁盘标识: " + (d.SerialNumber) + " ";
return s+" ";
}else
return t+" "+driveName+" ";
}
// 取得所有磁盘
function allDisk()
... {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var ds=new Enumerator(fso.Drives);
var msg="";
for(;!ds.atEnd();ds.moveNext())
...{
msg+=diskInfo(ds.item().DriveLetter+":");
}
showInfo(msg);
}
allDisk();
4、文件操作
/**/
/*
**@Author:PowerWind
**@Date:2006-5-20
**file name: FileOperation.js
*/
var FSO = new ActiveXObject( " Scripting.FileSystemObject " );
// 文件夹操作
// 选新建一个文件夹
function CreateFolder(folder)
... {
FSO.CreateFolder(folder);
}
// 获取文件夹信息
function FolderInfo(folder)
... {
var str="";
var f=FSO.GetFolder(folder);
str+=" 目录名:"+f.name;
str+=" 目录下文件数:"+f.Files.Count;
str+=" 子目录数:"+f.SubFolders.Count;
str+=" 该目录占字节数:"+(f.size/1024);
str+=" 最后修改时间:"+f.DateLastModified;
return str;
}
// copy文件夹
function CopyFolder(src,dest,overwrite)
... {
FSO.CopyFolder(src,dest,overwrite);
}
// 删除文件夹
function DeleteFolder(folder)
... {
FSO.DeleteFile(folder);
}
// 文件操作
// 在文件夹内新建一个文件
function CreateFile(filename)
... {
FSO.CreateTextFile(filename);
}
// 打开文件,写入一行字
function WriteToFile(filename,content)
... {
var append=8;
var f=FSO.OpenTextFile(filename,append,true);
f.WriteLine(content);
}
// 读文件
function ReadFromFile(filename,content)
... {
var f=FSO.OpenTextFile(filename);
return f.ReadAll();
}
// 获取文件信息
function FileInfo(file)
... {
var ff=FSO.GetFile(file);
var info="";
info+=" 文件类型:"+ff.Type;
info+=" 文件大小:"+ff.size/1024+"kb";
info+=" 最后修改时间:"+ff.DateLastAccessed;
return info;
}
// copy文件
function CopyFile(src,dest,overwrite)
... {
FSO.CopyFile(src,dest,overwrite);
}
// 重命名文件
function RenameFile(src,dest)
... {
FSO.MoveFile(src,dest);
}
// 删除文件夹
function DeleteFolder(filename)
... {
FSO.DeleteFolder(filename);
}
var folder = " c:/test " ;
var filename = " c:/test/test.txt " ;
var content = " 写入一行,测试一下 " ;
CreateFolder(folder);
CreateFile(filename);
WriteToFile(filename,content);
WScript.echo(ReadFromFile(filename));
// WScript.echo(FileInfo(filename));
// WScript.echo(FolderInfo(folder));
// DeleteFolder(folder);
**@Author:PowerWind
**@Date:2006-5-20
**file name: FileOperation.js
*/
var FSO = new ActiveXObject( " Scripting.FileSystemObject " );
// 文件夹操作
// 选新建一个文件夹
function CreateFolder(folder)
... {
FSO.CreateFolder(folder);
}
// 获取文件夹信息
function FolderInfo(folder)
... {
var str="";
var f=FSO.GetFolder(folder);
str+=" 目录名:"+f.name;
str+=" 目录下文件数:"+f.Files.Count;
str+=" 子目录数:"+f.SubFolders.Count;
str+=" 该目录占字节数:"+(f.size/1024);
str+=" 最后修改时间:"+f.DateLastModified;
return str;
}
// copy文件夹
function CopyFolder(src,dest,overwrite)
... {
FSO.CopyFolder(src,dest,overwrite);
}
// 删除文件夹
function DeleteFolder(folder)
... {
FSO.DeleteFile(folder);
}
// 文件操作
// 在文件夹内新建一个文件
function CreateFile(filename)
... {
FSO.CreateTextFile(filename);
}
// 打开文件,写入一行字
function WriteToFile(filename,content)
... {
var append=8;
var f=FSO.OpenTextFile(filename,append,true);
f.WriteLine(content);
}
// 读文件
function ReadFromFile(filename,content)
... {
var f=FSO.OpenTextFile(filename);
return f.ReadAll();
}
// 获取文件信息
function FileInfo(file)
... {
var ff=FSO.GetFile(file);
var info="";
info+=" 文件类型:"+ff.Type;
info+=" 文件大小:"+ff.size/1024+"kb";
info+=" 最后修改时间:"+ff.DateLastAccessed;
return info;
}
// copy文件
function CopyFile(src,dest,overwrite)
... {
FSO.CopyFile(src,dest,overwrite);
}
// 重命名文件
function RenameFile(src,dest)
... {
FSO.MoveFile(src,dest);
}
// 删除文件夹
function DeleteFolder(filename)
... {
FSO.DeleteFolder(filename);
}
var folder = " c:/test " ;
var filename = " c:/test/test.txt " ;
var content = " 写入一行,测试一下 " ;
CreateFolder(folder);
CreateFile(filename);
WriteToFile(filename,content);
WScript.echo(ReadFromFile(filename));
// WScript.echo(FileInfo(filename));
// WScript.echo(FolderInfo(folder));
// DeleteFolder(folder);
有图形界面的:
function
showFolder(folder)
... {
var handle = 0;
var option = 0;
var title="Jscript做的文件夹浏览对话框";
var appShell = new ActiveXObject("Shell.Application");
var objFolder = appShell.BrowseForFolder(handle,title, option, folder);
}
showFolder( " C:/Windows " );
... {
var handle = 0;
var option = 0;
var title="Jscript做的文件夹浏览对话框";
var appShell = new ActiveXObject("Shell.Application");
var objFolder = appShell.BrowseForFolder(handle,title, option, folder);
}
showFolder( " C:/Windows " );
5、关机
function
showit()
...
{
var Message = "是-->关机,否-->重启,取消-->返回";
var timeout = 0;
var title = "关机提示(你真的要关机吗?)";
var buttons = 3;
var rslt;
var WS = WScript.CreateObject("WScript.Shell");
rslt = WS.Popup(Message, timeout, title, buttons);
if ( rslt == 6 )WS.Run ("shutdown -s -t 0")
else if(rslt==7)WS.Run ("shutdown -r -t 0")
else...{
WScript.Quit();
}
}
showit();
var Message = "是-->关机,否-->重启,取消-->返回";
var timeout = 0;
var title = "关机提示(你真的要关机吗?)";
var buttons = 3;
var rslt;
var WS = WScript.CreateObject("WScript.Shell");
rslt = WS.Popup(Message, timeout, title, buttons);
if ( rslt == 6 )WS.Run ("shutdown -s -t 0")
else if(rslt==7)WS.Run ("shutdown -r -t 0")
else...{
WScript.Quit();
}
}
showit();
二、JS在网页上的应用
">常用JS代码
暂时这么多,有空再更新