使用FileSystemObject 对象进行编程很简单,使用F

comp命令:

DIR 命令:

A.net use \IP地址 密码/user:******
B.xcopy 文件 \IP地址

一、功能实现核心:FileSystemObject 对象 
    要在javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。
二、FileSystemObject编程 
使用FileSystemObject 对象进行编程很简单,一般要经过如下的步骤: 创建FileSystemObject对象、应用相关方法、访问对象相关属性 。 
(一)创建FileSystemObject对象 
创建FileSystemObject对象的代码只要1行: 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
上述代码执行后,fso就成为一个FileSystemObject对象实例。 
(二)应用相关方法 
创建对象实例后,就可以使用对象的相关方法了。比如,使用CreateTextFile方法创建一个文本文件: 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var f1 = fso.createtextfile("c:\myjstest.txt",true"); 
(三)访问对象相关属性 
要访问对象的相关属性,首先要建立指向对象的句柄,这就要通过get系列方法实现:GetDrive负责获取驱动器信息,GetFolder负责获取文件夹信息,GetFile负责获取文件信息。比如,指向下面的代码后,f1就成为指向文件c:test.txt的句柄: 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var f1 = fso.GetFile("c:\myjstest.txt"); 
然后,使用f1访问对象的相关属性。比如: 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var f1 = fso.GetFile("c:\myjstest.txt"); 
alert("File last modified: " + f1.DateLastModified); 
执行上面最后一句后,将显示c:myjstest.txt的最后修改日期属性值。 
但有一点请注意:对于使用create方法建立的对象,就不必再使用get方法获取对象句柄了,这时直接使用create方法建立的句柄名称就可以: 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var f1 = fso.createtextfile("c:\myjstest.txt",true"); 
alert("File last modified: " + f1.DateLastModified); 
三、操作驱动器(Drives) 
使用FileSystemObject对象来编程操作驱动器(Drives)和文件夹(Folders)很容易,这就象在Windows文件浏览器中对文件进行交互操作一样,比如:拷贝、移动文件夹,获取文件夹的属性。 
(一)Drives对象属性 
Drive对象负责收集系统中的物理或逻辑驱动器资源内容,它具有如下属性: 
l TotalSize:以字节(byte)为单位计算的驱动器大小。 
l AvailableSpace或FreeSpace:以字节(byte)为单位计算的驱动器可用空间。 
l DriveLetter:驱动器字母。 
l DriveType:驱动器类型,取值为:removable(移动介质)、fixed(固定介质)、network(网络资源)、CD-ROM或者RAM盘。 
l SerialNumber:驱动器的系列码。 
l FileSystem:所在驱动器的文件系统类型,取值为FAT、FAT32和NTFS。 
l IsReady:驱动器是否可用。 
l ShareName:共享名称。 
l VolumeName:卷标名称。 
l Path和RootFolder:驱动器的路径或者根目录名称。 
(二)Drive对象操作例程 
下面的例程显示驱动器C的卷标、总容量和可用空间等信息: 
var fso, drv, s =""; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
drv = fso.GetDrive(fso.GetDriveName("c:\")); 
s += "Drive C:" + " - "; 
s += drv.VolumeName + "n"; 
s += "Total Space: " + drv.TotalSize / 1024; 
s += " Kb" + "n"; 
s += "Free Space: " + drv.FreeSpace / 1024; 
s += " Kb" + "n"; 
alert(s); 
四、操作文件夹(Folders) 
涉及到文件夹的操作包括创建、移动、删除以及获取相关属性。 
Folder对象操作例程 :
下面的例程将练习获取父文件夹名称、创建文件夹、删除文件夹、判断是否为根目录等操作: 
var fso, fldr, s = ""; 
// 创建FileSystemObject对象实例 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
// 获取Drive 对象 
fldr = fso.GetFolder("c:\"); 
// 显示父目录名称 
alert("Parent folder name is: " + fldr + "n"); 
// 显示所在drive名称 
alert("Contained on drive " + fldr.Drive + "n"); 
// 判断是否为根目录 
if (fldr.IsRootFolder) 
alert("This is the root folder."); 
else 
alert("This folder isn't a root folder."); 
alert("nn"); 
// 创建新文件夹 
fso.CreateFolder ("C:\Bogus"); 
alert("Created folder C:\Bogus" + "n"); 
// 显示文件夹基础名称,不包含路径名 
alert("Basename = " + fso.GetBaseName("c:\bogus") + "n"); 
// 删除创建的文件夹 
fso.DeleteFolder ("C:\Bogus"); 
alert("Deleted folder C:\Bogus" + "n"); 
五、操作文件(Files) 
对文件进行的操作要比以上介绍的驱动器(Drive)和文件夹(Folder)操作复杂些,基本上分为以下两个类别:对文件的创建、拷贝、移动、删除操作和对文件内容的创建、添加、删除和读取操作。下面分别详细介绍。 
(一)创建文件 
一共有3种方法可用于创建一个空文本文件,这种文件有时候也叫做文本流(text stream)。 
第一种是使用CreateTextFile方法。代码如下: 
var fso, f1; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
f1 = fso.CreateTextFile("c:\testfile.txt", true); 
第二种是使用OpenTextFile方法,并添加上ForWriting属性,ForWriting的值为2。代码如下: 
var fso, ts; 
var ForWriting= 2; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
ts = fso.OpenTextFile("c:\test.txt", ForWriting, true); 
第三种是使用OpenAsTextStream方法,同样要设置好ForWriting属性。代码如下: 
var fso, f1, ts; 
var ForWriting = 2; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
fso.CreateTextFile ("c:\test1.txt"); 
f1 = fso.GetFile("c:\test1.txt"); 
ts = f1.OpenAsTextStream(ForWriting, true); 
(二)添加数据到文件 
当文件被创建后,一般要按照“打开文件->填写数据->关闭文件”的步骤实现添加数据到文件的目的。 
打开文件可使用FileSystemObject对象的OpenTextFile方法,或者使用File对象的OpenAsTextStream方法。 
填写数据要使用到TextStream对象的Write、WriteLine或者WriteBlankLines方法。在同是实现写入数据的功能下,这3者的区别在于:Write方法不在写入数据末尾添加新换行符,WriteLine方法要在最后添加一个新换行符,而WriteBlankLines则增加一个或者多个空行。 
关闭文件可使用TextStream对象的Close方法。 
(三)创建文件及添加数据例程 
下面的代码将创建文件、添加数据、关闭文件几个步骤结合起来进行应用: 
var fso, tf; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
// 创建新文件 
tf = fso.CreateTextFile("c:\testfile.txt", true); 
// 填写数据,并增加换行符 
tf.WriteLine("Testing 1, 2, 3.") ; 
// 增加3个空行 
tf.WriteBlankLines(3) ; 
// 填写一行,不带换行符 
tf.Write ("This is a test."); 
// 关闭文件 
tf.Close(); 
(四)读取文件内容 
从文本文件中读取数据要使用TextStream对象的Read、ReadLine或ReadAll 方法。Read方法用于读取文件中指定数量的字符;ReadLine方法读取一整行,但不包括换行符;ReadAll方法则读取文本文件的整个内容。读取的内容存放于字符串变量中,用于显示、分析。

一、功能实现核心:FileSystemObject 对象 
    要在javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。
二、FileSystemObject编程 
使用FileSystemObject 对象进行编程很简单,一般要经过如下的步骤: 创建FileSystemObject对象、应用相关方法、访问对象相关属性 。 
(一)创建FileSystemObject对象 
创建FileSystemObject对象的代码只要1行: 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
上述代码执行后,fso就成为一个FileSystemObject对象实例。 
(二)应用相关方法 
创建对象实例后,就可以使用对象的相关方法了。比如,使用CreateTextFile方法创建一个文本文件: 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var f1 = fso.createtextfile("c:\myjstest.txt",true"); 
(三)访问对象相关属性 
要访问对象的相关属性,首先要建立指向对象的句柄,这就要通过get系列方法实现:GetDrive负责获取驱动器信息,GetFolder负责获取文件夹信息,GetFile负责获取文件信息。比如,指向下面的代码后,f1就成为指向文件c:test.txt的句柄: 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var f1 = fso.GetFile("c:\myjstest.txt"); 
然后,使用f1访问对象的相关属性。比如: 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var f1 = fso.GetFile("c:\myjstest.txt"); 
alert("File last modified: " + f1.DateLastModified); 
执行上面最后一句后,将显示c:myjstest.txt的最后修改日期属性值。 
但有一点请注意:对于使用create方法建立的对象,就不必再使用get方法获取对象句柄了,这时直接使用create方法建立的句柄名称就可以: 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var f1 = fso.createtextfile("c:\myjstest.txt",true"); 
alert("File last modified: " + f1.DateLastModified); 
三、操作驱动器(Drives) 
使用FileSystemObject对象来编程操作驱动器(Drives)和文件夹(Folders)很容易,这就象在Windows文件浏览器中对文件进行交互操作一样,比如:拷贝、移动文件夹,获取文件夹的属性。 
(一)Drives对象属性 
Drive对象负责收集系统中的物理或逻辑驱动器资源内容,它具有如下属性: 
l TotalSize:以字节(byte)为单位计算的驱动器大小。 
l AvailableSpace或FreeSpace:以字节(byte)为单位计算的驱动器可用空间。 
l DriveLetter:驱动器字母。 
l DriveType:驱动器类型,取值为:removable(移动介质)、fixed(固定介质)、network(网络资源)、CD-ROM或者RAM盘。 
l SerialNumber:驱动器的系列码。 
l FileSystem:所在驱动器的文件系统类型,取值为FAT、FAT32和NTFS。 
l IsReady:驱动器是否可用。 
l ShareName:共享名称。 
l VolumeName:卷标名称。 
l Path和RootFolder:驱动器的路径或者根目录名称。 
(二)Drive对象操作例程 
下面的例程显示驱动器C的卷标、总容量和可用空间等信息: 
var fso, drv, s =""; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
drv = fso.GetDrive(fso.GetDriveName("c:\")); 
s += "Drive C:" + " - "; 
s += drv.VolumeName + "n"; 
s += "Total Space: " + drv.TotalSize / 1024; 
s += " Kb" + "n"; 
s += "Free Space: " + drv.FreeSpace / 1024; 
s += " Kb" + "n"; 
alert(s); 
四、操作文件夹(Folders) 
涉及到文件夹的操作包括创建、移动、删除以及获取相关属性。 
Folder对象操作例程 :
下面的例程将练习获取父文件夹名称、创建文件夹、删除文件夹、判断是否为根目录等操作: 
var fso, fldr, s = ""; 
// 创建FileSystemObject对象实例 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
// 获取Drive 对象 
fldr = fso.GetFolder("c:\"); 
// 显示父目录名称 
alert("Parent folder name is: " + fldr + "n"); 
// 显示所在drive名称 
alert("Contained on drive " + fldr.Drive + "n"); 
// 判断是否为根目录 
if (fldr.IsRootFolder) 
alert("This is the root folder."); 
else 
alert("This folder isn't a root folder."); 
alert("nn"); 
// 创建新文件夹 
fso.CreateFolder ("C:\Bogus"); 
alert("Created folder C:\Bogus" + "n"); 
// 显示文件夹基础名称,不包含路径名 
alert("Basename = " + fso.GetBaseName("c:\bogus") + "n"); 
// 删除创建的文件夹 
fso.DeleteFolder ("C:\Bogus"); 
alert("Deleted folder C:\Bogus" + "n"); 
五、操作文件(Files) 
对文件进行的操作要比以上介绍的驱动器(Drive)和文件夹(Folder)操作复杂些,基本上分为以下两个类别:对文件的创建、拷贝、移动、删除操作和对文件内容的创建、添加、删除和读取操作。下面分别详细介绍。 
(一)创建文件 
一共有3种方法可用于创建一个空文本文件,这种文件有时候也叫做文本流(text stream)。 
第一种是使用CreateTextFile方法。代码如下: 
var fso, f1; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
f1 = fso.CreateTextFile("c:\testfile.txt", true); 
第二种是使用OpenTextFile方法,并添加上ForWriting属性,ForWriting的值为2。代码如下: 
var fso, ts; 
var ForWriting= 2; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
ts = fso.OpenTextFile("c:\test.txt", ForWriting, true); 
第三种是使用OpenAsTextStream方法,同样要设置好ForWriting属性。代码如下: 
var fso, f1, ts; 
var ForWriting = 2; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
fso.CreateTextFile ("c:\test1.txt"); 
f1 = fso.GetFile("c:\test1.txt"); 
ts = f1.OpenAsTextStream(ForWriting, true); 
(二)添加数据到文件 
当文件被创建后,一般要按照“打开文件->填写数据->关闭文件”的步骤实现添加数据到文件的目的。 
打开文件可使用FileSystemObject对象的OpenTextFile方法,或者使用File对象的OpenAsTextStream方法。 
填写数据要使用到TextStream对象的Write、WriteLine或者WriteBlankLines方法。在同是实现写入数据的功能下,这3者的区别在于:Write方法不在写入数据末尾添加新换行符,WriteLine方法要在最后添加一个新换行符,而WriteBlankLines则增加一个或者多个空行。 
关闭文件可使用TextStream对象的Close方法。 
(三)创建文件及添加数据例程 
下面的代码将创建文件、添加数据、关闭文件几个步骤结合起来进行应用: 
var fso, tf; 
fso = new ActiveXObject("Scripting.FileSystemObject"); 
// 创建新文件 
tf = fso.CreateTextFile("c:\testfile.txt", true); 
// 填写数据,并增加换行符 
tf.WriteLine("Testing 1, 2, 3.") ; 
// 增加3个空行 
tf.WriteBlankLines(3) ; 
// 填写一行,不带换行符 
tf.Write ("This is a test."); 
// 关闭文件 
tf.Close(); 
(四)读取文件内容 
从文本文件中读取数据要使用TextStream对象的Read、ReadLine或ReadAll 方法。Read方法用于读取文件中指定数量的字符;ReadLine方法读取一整行,但不包括换行符;ReadAll方法则读取文本文件的整个内容。读取的内容存放于字符串变量中,用于显示、分析。

  // 描述:

  // 描述:

批处理文件为backup.bat,其代码如下:

net use \192.168.1.198ipc$ Zqf198703 /user:royalpeak
xcopy g:backup*.* \192.168.1.198数据备份 /D /E /Y /H /K
net use \192.168.1.198ipc$ /delete
用Xcopy命令可以做到
xcopy 源路径 目标路径
复制文件和目录,包括子目录。

语法
xcopy Source [Destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-dd-yyyy]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:file1[+[file2]][+[file3]] [{/y|/-y}] [/z]

参数
Source
必需的。指定要复制的文件的位置和名称。该参数必须包含驱动器或路径。
Destination
指定要复制的文件的目标。该参数可以包含驱动器盘符和冒号、目录名、文件名或者它们的组合。
/w
在开始复制文件之前将显示以下消息并等待您的响应:
Press any key to begin copying file(s)
/p
提示您确认是否要创建每个目标文件。
/c
忽略错误。
/v
在写入目标文件时验证每个文件,以确保目标文件与源文件完全相同。
/q
禁止显示 xcopy 消息。
/f
复制时显示源文件名和目标文件名。
/l
显示要复制的文件列表。
/g
创建解密的目标文件。
/d[:mm-dd-yyyy]
只复制那些在指定日期或指定日期之后更改过的源文件。如果不包括 mm-dd-yyyy 值,xcopy 会复制比现有 Destination 文件新的所有 Source 文件。该命令行选项使您可以更新更改过的文件。
/u
只从 source 复制 destination 中已有的文件。
/i
如果 Source 是一个目录或包含通配符,而 Destination 不存在,xcopy 会假定 destination 指定目录名并创建一个新目录。然后,xcopy 会将所有指定文件复制到新目录中。默认情况下,xcopy 将提示您指定 destination 是文件还是目录。
/s
复制非空的目录和子目录。如果省略 /s,xcopy 将在一个目录中工作。
/e
复制所有子目录,包括空目录。同时使用 /e、/s 和 /t 命令行选项。
/t
只复制子目录结构(即目录树),不复制文件。要复制空目录,必须包含 /e 命令行选项。
/k
复制文件,如果源文件具有只读属性,则在目标文件中保留该属性。默认情况下,xcopy 会删除只读属性。
/r
复制只读文件。
/h
复制具有隐藏和系统文件属性的文件。默认情况下,xcopy 不复制隐藏或系统文件。
/a
只复制那些具有存档文件属性设置的源文件。/a 不修改源文件的存档文件属性。有关如何通过使用 attrib 来设置存档文件属性的信息,请参阅"相关主题".
 /m
复制具有存档文件属性设置的源文件。与 /a 不同,/m 关闭在源中指定的文件的存档文件属性。有关如何通过使用 attrib 来设置存档文件属性的信息,请参阅"相关主题".
/n
使用 NTFS 短文件或目录名创建副本。将文件或目录从 NTFS 卷复制到 FAT 卷或者当目标文件系统需要 FAT 文件系统命名约定(即 8.3 个字符)时,需要 /n.目标文件系统可以是 FAT 或 NTFS.
/o
复制文件所有权与自由选择的访问控制列表 (DACL) 信息。
/x
复制文件审核设置和系统访问控制列表 (SACL) 信息(包含 /o)。
/exclude:filename1[+[filename2]][+[filename3]]
指定包含字符串的文件列表。
/y
禁止提示您确认要覆盖现存的目标文件。
/-y
提示您确认要覆盖现有目标文件。
/z
在可重启模式中通过网络复制。
/?
在命令提示符显示帮助。
注释
使用 /v
Windows XP 不使用该命令。使用它只是为了与 MS-DOS 文件兼容。 使用 /exclude
列出每个文件的单独行中的每个字符串。如果列出的任何字符串与要复制的文件的绝对路径的任何部分匹配,就从复制进程排除该文件。例如,如果 指定字符串 "Obj",则会排除 Obj 目录下的所有文件。如果指定字符串 ".obj",则排除具有 .obj 扩展名的所有文件。
使用 /z
如果在复制过程中丢失连接(例如,如果用于连接的服务器脱机),复制过程将在重新建立连接后恢复。/z 也显示每个文件完成的复制操作的百分比。
在 COPYCMD 环境变量中使用 /y
可在 COPYCMD 环境变量中使用 /y.在命令行上使用 /-y 可以覆盖该命令。默认情况下,会提示您覆盖,除非您从批处理脚本内运行 copy.

复制加密的文件
将加密文件复制到不支持 EFS 的卷会导致错误。应首先解密文件或将文件复制到支持 EFS 的卷中。

附属文件
要附加文件,请指定单个目标文件,多个源文件(使用通配符或文件 1 + 文件 2

  • 文件 3 格式)。

Destination 的默认值
如果省略 Destination,xcopy 命令将文件复制到当前目录。
指定 Destination 是文件还是目录
如果 Destination 不包含现有目录且不以反斜杠 () 结尾,会出现下列消息:
Does destination specify a file name
or directory name on the target
(F = file, D = directory)?
如果要将一个或多个文件复制到一个文件,请按 F.如果要将一个或多个文件复制到一个目录,请按 D.
使用 /i 命令行选项可抑制显示该消息,从而导致 xcopy 认定在源是多个文件或一个目录的情况下,目标是一个目录。
使用 xcopy 命令设置 Destination 文件的存档属性
xcopy 命令创建具有存档属性设置的文件,无论源文件中是否设定了此属性。有关文件属性和 attrib 的详细信息,请参阅"相关主题".

比较 xcopy 和 diskcopy
如果磁盘的子目录中包含文件,要将其复制到具有不同格式的磁盘中,请使用 xcopy 命令,而不要使用 diskcopy.因为 diskcopy 命令是一个磁道接一个磁道地复制磁盘,所以需要源磁盘和目标磁盘的格式必须相同。xcopy 命令没有该要求。通常情况下请使用 xcopy,除非您需要完整的磁盘图像副本。

xcopy 的退出码
要处理 xcopy 返回的退出码,请在批处理程序的 if 命令行上使用 errorlevel 参数。有关使用"if"处理退出码的批处理程序的范例,请参阅"相关主题".下表列出每一个退出码和说明。

退出码 说明
0 文件复制没有错误。
1 没有找到要复制的文件。
2 用户按 CTRL+C 终止了 xcopy.
4 出现了初始化错误。没有足够的内存或磁盘空间,或命令行上输入了无效的驱动器名称或语法。
5 出现了磁盘写入错误
以上是xcopy把本地文件复制到远程服务器的方法

 

 

    逐字节比较两个文件或文件集的内容。 如果在没有参数的情况下使用,comp会提示你输入要比较的文件。

    (Directory)

您可能感兴趣的文章:

  • js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
  • 网页源代码保护(禁止右键、复制、另存为、查看源文件)
  • 将本地文件通过远程桌面连接直接复制或粘贴到远程主机的具体方法
  • c#根据文件大小显示文件复制进度条实例
  • java读取excel文件并复制(copy)文件到指定目录示例
  • 在Node.js中实现文件复制的方法和实例
  • JavaScript实现删除,移动和复制文件的方法
  • Nodejs如何复制文件

方法或者属性 描述 
BuildPath() 
 生成一个文件路径 
CopyFile()  复制文件 
CopyFolder() 复制目录 
CreateFolder()  创建新目录 
CreateTextFile()  生成一个文件 
DeleteFile()  删除一个文件 
DeleteFolder()  删除一个目录 
DriveExists()  检验盘符是否存在 
Drives 返回盘符的集合 
FileExists()  检验文件是否存在 
FolderExists 检验一个目录是否存在 
GetAbsolutePathName()  取得一个文件的绝对路径 
GetBaseName()  取得文件名 
GetDrive()  取得盘符名 
GetDriveName()  取得盘符名 
GetExtensionName()  取得文件的后缀 
GetFile()  生成文件对象 
GetFileName()  取得文件名 
GetFolder()  取得目录对象 
GetParentFolderName 取得文件或目录的父目录名 
GetSpecialFolder()  取得特殊的目录名 
GetTempName()  生成一个临时文件对象 
MoveFile()  移动文件 
MoveFolder()  移动目录 
OpenTextFile()  打开一个文件流

方法或者属性 描述 
BuildPath() 
 生成一个文件路径 
CopyFile()  复制文件 
CopyFolder() 复制目录 
CreateFolder()  创建新目录 
CreateTextFile()  生成一个文件 
DeleteFile()  删除一个文件 
DeleteFolder()  删除一个目录 
DriveExists()  检验盘符是否存在 
Drives 返回盘符的集合 
FileExists()  检验文件是否存在 
FolderExists 检验一个目录是否存在 
GetAbsolutePathName()  取得一个文件的绝对路径 
GetBaseName()  取得文件名 
GetDrive()  取得盘符名 
GetDriveName()  取得盘符名 
GetExtensionName()  取得文件的后缀 
GetFile()  生成文件对象 
GetFileName()  取得文件名 
GetFolder()  取得目录对象 
GetParentFolderName 取得文件或目录的父目录名 
GetSpecialFolder()  取得特殊的目录名 
GetTempName()  生成一个临时文件对象 
MoveFile()  移动文件 
MoveFolder()  移动目录 
OpenTextFile()  打开一个文件流

  // 语法:

     显示目录的文件和子目录的列表。 

f.Files //目录下所有文件集合
f.attributes //文件属性
  Case 0 Str="普通文件。没有设置任何属性。 "
  Case 1 Str="只读文件。可读写。 "
  Case 2 Str="隐藏文件。可读写。 "
  Case 4 Str="系统文件。可读写。 "
  Case 16 Str="文件夹或目录。只读。 "
  Case 32 Str="上次备份后已更改的文件。可读写。 " 
  Case 1024 Str="链接或快捷方式。只读。 "
  Case 2048 Str=" 压缩文件。只读。"
f.Datecreated // 创建时间
f.DateLastAccessed //上次访问时间
f.DateLastModified // 上次修改时间
f.Path //文件路径
f.Name //文件名称
f.Type //文件类型
f.Size // 文件大小(单位:字节)
f.ParentFolder //父目录
f.RootFolder // 根目录 

f.Files //目录下所有文件集合
f.attributes //文件属性
  Case 0 Str="普通文件。没有设置任何属性。 "
  Case 1 Str="只读文件。可读写。 "
  Case 2 Str="隐藏文件。可读写。 "
  Case 4 Str="系统文件。可读写。 "
  Case 16 Str="文件夹或目录。只读。 "
  Case 32 Str="上次备份后已更改的文件。可读写。 " 
  Case 1024 Str="链接或快捷方式。只读。 "
  Case 2048 Str=" 压缩文件。只读。"
f.Datecreated // 创建时间
f.DateLastAccessed //上次访问时间
f.DateLastModified // 上次修改时间
f.Path //文件路径
f.Name //文件名称
f.Type //文件类型
f.Size // 文件大小(单位:字节)
f.ParentFolder //父目录
f.RootFolder // 根目录 

    comp [<Data1>] [<Data2>] [/d] [/a] [/l]  [/c] [/n=<Number>]

  // 语法:

 实例说明

 实例说明

  // 参数:

    dir [<Drive>:][<Path>][<FileName>] [...] [/p] [/q] [/w] [/d] [/a[[:]<Attributes>]][/o[[:]<SortOrder>]] [/t[[:]<TimeField>]] [/s] [/b] [/l] [/n] [/x] [/c] [/4]

BuildPath(路径,文件名) //这个方法会对给定的路径加上文件,并自动加上分界符 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
var newpath = fso.BuildPath("c:\tmp", "51js.txt"); //生成 c:tmp51js.txt的路径
alert(newpath);
-->
</SCRIPT> 

BuildPath(路径,文件名) //这个方法会对给定的路径加上文件,并自动加上分界符 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
var newpath = fso.BuildPath("c:\tmp", "51js.txt"); //生成 c:tmp51js.txt的路径
alert(newpath);
-->
</SCRIPT> 

    <data1> :  指定要比较的第一个文件或文件集的位置和名称。 可以使用通配符(*和?)指定多个文件。

  // 参数:

CopyFile(源文件, 目标文件, 覆盖) //复制源文件到目标文件,当覆盖值为true时,如果目标文件存在会把文件覆盖 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
var newpath = fso.CopyFile("c:\autoexec.bat", "d:\autoexec.bak");
-->
</SCRIPT> 

CopyFile(源文件, 目标文件, 覆盖) //复制源文件到目标文件,当覆盖值为true时,如果目标文件存在会把文件覆盖 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
var newpath = fso.CopyFile("c:\autoexec.bat", "d:\autoexec.bak");
-->
</SCRIPT> 

    <data2>:   指定要比较的第二个文件或文件集的位置和名称。 可以使用通配符(*和?)指定多个文件。

    /p:  (pause)

CopyFolder(对象目录,目标目录 ,覆盖) //复制对象目录到目标目录,当覆盖为true时,如果目标目录存在会把文件覆盖 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder("c:\WINDOWS\Desktop", "d:\"); //把C盘的Desktop目录复制到D盘的根目录
-->
</SCRIPT> 

CopyFolder(对象目录,目标目录 ,覆盖) //复制对象目录到目标目录,当覆盖为true时,如果目标目录存在会把文件覆盖 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder("c:\WINDOWS\Desktop", "d:\"); //把C盘的Desktop目录复制到D盘的根目录
-->
</SCRIPT> 

    /d:(decimal)    以十进制格式显示差异。 (默认格式为十六进制。)

       如果显示的内容多于一屏的话,则暂停,可以按任意键继续下一页,相当于  more**

CreateFolder(目录名) //创建一个新的目录 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
var newFolderName = fso.CreateFolder("c:\51JS"); //在C盘上创建一个51JS的目录 
-->
</SCRIPT> 

CreateFolder(目录名) //创建一个新的目录 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
var newFolderName = fso.CreateFolder("c:\51JS"); //在C盘上创建一个51JS的目录 
-->
</SCRIPT> 

    /a:     将差异显示为字符。


CreateTextFile(文件名, 覆盖) //创建一个新的文件,如果此文件已经存在,你需要把覆盖值定为true 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
var newFileObject = fso.CreateTextFile("c:\autoexec51JS.bat", true); //脚本将在C盘创建一个叫 autoexec51JS.bat的文件
-->
</SCRIPT> 

CreateTextFile(文件名, 覆盖) //创建一个新的文件,如果此文件已经存在,你需要把覆盖值定为true 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
var newFileObject = fso.CreateTextFile("c:\autoexec51JS.bat", true); //脚本将在C盘创建一个叫 autoexec51JS.bat的文件
-->
</SCRIPT> 

    /l:(line number) 显示出现差异的行号,而不是显示字节偏移量。

    /q:  显示文件所有权信息。

DeleteFile(文件名, 只读?) //删除一个文件,如果文件的属性是只读的话,你需要把只读值设为true 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject"); //为了安全我先把要删除的autoexec.bat备份到你的D盘
var newpath = fso.CopyFile("c:\autoexec.bat", "d:\autoexec.bat"); //把C盘的autoexec.bat文件删除掉 
fso.DeleteFile("c:\autoexec.bat", true);
-->
</SCRIPT> 

DeleteFile(文件名, 只读?) //删除一个文件,如果文件的属性是只读的话,你需要把只读值设为true 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject"); //为了安全我先把要删除的autoexec.bat备份到你的D盘
var newpath = fso.CopyFile("c:\autoexec.bat", "d:\autoexec.bat"); //把C盘的autoexec.bat文件删除掉 
fso.DeleteFile("c:\autoexec.bat", true);
-->
</SCRIPT> 

    /c:     执行不区分大小写的比较。

    /w:  (wild format) 

DeleteFolder(文件名, 只读?)//删除一个目录,如果目录的属性是只读的话,你需要把只读值设为true 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder("c:\WINDOWS\Desktop", "d:\"); //为了安全我先把你C盘的Desktop目录复制到你D盘的根目录
fso.DeleteFolder("c:\WINDOWS\Desktop", true); //把你的Desktop目录删除,但因为desktop是系统的东西,所以不能全部删除,但.........
-->
</SCRIPT> 

DeleteFolder(文件名, 只读?)//删除一个目录,如果目录的属性是只读的话,你需要把只读值设为true 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder("c:\WINDOWS\Desktop", "d:\"); //为了安全我先把你C盘的Desktop目录复制到你D盘的根目录
fso.DeleteFolder("c:\WINDOWS\Desktop", true); //把你的Desktop目录删除,但因为desktop是系统的东西,所以不能全部删除,但.........
-->
</SCRIPT> 

    /n     仅比较为每个文件指定的行数,即使文件大小不同。

       以宽格式显示列表,每行最多五个文件名或目录名。

DriveExists(盘符) //检查一个盘是否存在,如果存在就返会真,不存在就返回....... 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
hasDriveD = fso.DriveExists("d"); //检查系统是否有D盘存在
hasDriveZ = fso.DriveExists("z"); //检查系统是否有Z盘存在
if (hasDriveD) alert("你的系统内有一个D盘");
if (!hasDriveZ) alert("你的系统内没有Z盘");
-->
</SCRIPT> 

DriveExists(盘符) //检查一个盘是否存在,如果存在就返会真,不存在就返回....... 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
hasDriveD = fso.DriveExists("d"); //检查系统是否有D盘存在
hasDriveZ = fso.DriveExists("z"); //检查系统是否有Z盘存在
if (hasDriveD) alert("你的系统内有一个D盘");
if (!hasDriveZ) alert("你的系统内没有Z盘");
-->
</SCRIPT> 

  // 说明:

    /d:  以与/ w相同的格式显示列表,但文件名是按一列一列来排序的。 

FileExists(文件名) //检查一个文件是否存在,如果存在就返会真,不存在就返回....... 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
fileName = fso.FileExists("c:\autoexec.bat");
if (fileName) alert("你在C盘中有autoexec.bat文件,按下确定后这个文件将被删除!"); //开个玩笑:) 
-->
</SCRIPT> 

FileExists(文件名) //检查一个文件是否存在,如果存在就返会真,不存在就返回....... 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
fileName = fso.FileExists("c:\autoexec.bat");
if (fileName) alert("你在C盘中有autoexec.bat文件,按下确定后这个文件将被删除!"); //开个玩笑:) 
-->
</SCRIPT> 

处理 Data1和Data2的特殊情况:
  --> 如果省略Data1或Data2的必要组件,或者省略Data2,comp会提示您输入缺少的信息。
  --> 如果Data1仅包含驱动器号或没有文件名的目录名,则comp会将指定目录中的所有文件与Data1中指定的文件进行比较。
  --> 如果Data2仅包含驱动器号或目录名,则Data2的默认文件名与Data1中的默认文件名相同。
  --> 如果comp找不到您指定的文件,它会提示您一条消息,以确定是否要比较更多文件。

    /s:  (subdirectories)

FolderExists(目录名) //检查一个目录是否存在,如果存在就返会真,不存在就返回....... 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
folderName = fso.FolderExists("c:\WINDOWS\Fonts");
if (folderName) alert("按下确定后系统的字库将被删除!"); //开个玩笑:) 
-->
</SCRIPT> 

FolderExists(目录名) //检查一个目录是否存在,如果存在就返会真,不存在就返回....... 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
folderName = fso.FolderExists("c:\WINDOWS\Fonts");
if (folderName) alert("按下确定后系统的字库将被删除!"); //开个玩笑:) 
-->
</SCRIPT> 

比较不同位置的文件:
  Comp可以比较同一驱动器或不同驱动器上的文件,以及相同目录或不同目录中的文件。 当comp比较文件时,它会显示它们的位置和文件名。

       列出指定目录和所有子目录中的文件。

GetAbsolutePathName(文件对象) //返回文件对象在系统的绝对路径 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
pathName = fso.GetAbsolutePathName("c:\autoexec.bat"); 
alert(pathName);
-->
</SCRIPT> 

GetAbsolutePathName(文件对象) //返回文件对象在系统的绝对路径 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
pathName = fso.GetAbsolutePathName("c:\autoexec.bat"); 
alert(pathName);
-->
</SCRIPT> 

比较不同大小的文件:
  您必须指定 /n 来比较不同大小的文件。 如果文件大小不同且未指定 /n,则comp将显示以下消息:

    /b:  (bare list)

GetBaseName(文件对象) //返回文件对象的文件名 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
baseName = fso.GetBaseName("c:\autoexec.bat"); //取得autoexec.bat的文件名autoexec
alert(baseName);
-->
</SCRIPT> 

GetBaseName(文件对象) //返回文件对象的文件名 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
baseName = fso.GetBaseName("c:\autoexec.bat"); //取得autoexec.bat的文件名autoexec
alert(baseName);
-->
</SCRIPT> 

Files are different sizes

       裸列表,意思是只有文件名,跟 /w /d 差不多的,但是这个 /b 明显要好看些。

GetExtensionName(文件对象) //文件的后缀 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
exName = fso.GetExtensionName("c:\autoexec.bat"); //取得autoexec.bat后缀bat
alert(exName);
-->
</SCRIPT> 

GetExtensionName(文件对象) //文件的后缀 
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
exName = fso.GetExtensionName("c:\autoexec.bat"); //取得autoexec.bat后缀bat
alert(exName);
-->
</SCRIPT> 

本文由必威发布于必威-操作系统,转载请注明出处:使用FileSystemObject 对象进行编程很简单,使用F

相关阅读