Use ActiveXObject to create FileSystemObject action files in JavaScript

Source: Internet
Author: User

Note: If you are using JavaScript to read local files, you are experiencing security issues.
It needs to be set in the browser, as follows:
Tools, Internet Options-security-Custom level-enable "No ActiveX controls identified as safe for initialization and script execution"

first, the function realizes the core: FileSystemObject object
To implement the file operation function in JavaScript, the main thing is to rely on the FileSystemObject object.

second, FileSystemObject programming
Programming with the FileSystemObject object is simple and generally takes the following steps: Create a FileSystemObject object, apply a related method, Access object-related properties.
(i) Creating FileSystemObject objects
Create the code for the FileSystemObject object as long as 1 lines:
var fso = new ActiveXObject ("Scripting.FileSystemObject");
Once the above code is executed, the FSO becomes an FileSystemObject object instance.
(ii) Application of relevant methodologies
Once you have created an object instance, you can use the object's related methods. For example, use the CreateTextFile method to create a text file:
var fso = new ActiveXObject ("Scripting.FileSystemObject");
var f1 = fso.createtextfile ("C:\\myjstest.txt", true ");
(iii) Accessing object-related properties
To access the related properties of an object, first establish a handle to the object, which is achieved through the Get series method: Getdrive is responsible for obtaining the drive information, GetFolder is responsible for obtaining the folder information, GetFile is responsible for obtaining the file information. For example, when you point to the following code, F1 becomes a handle to the file C:\test.txt:
var fso = new ActiveXObject ("Scripting.FileSystemObject");
var f1 = fso. GetFile ("C:\\myjstest.txt");
Then, use F1 to access the related properties of the object. Like what:
var fso = new ActiveXObject ("Scripting.FileSystemObject");
var f1 = fso. GetFile ("C:\\myjstest.txt");
Alert ("File Last modified:" + F1. DateLastModified);
After executing the last sentence above, the last modified Date property value for C:\myjstest.txt is displayed.
But one thing to note: For objects created using the Create method, you no longer have to use the Get method to get an object handle, and the name of a handle created directly using the Create method can:
var fso = new ActiveXObject ("Scripting.FileSystemObject");
var f1 = fso.createtextfile ("C:\\myjstest.txt", true ");
Alert ("File Last modified:" + F1. DateLastModified);

Third, Operation Driver (Drives)
It is easy to programmatically manipulate drives (Drives) and folders (Folders) using the FileSystemObject object, which is like interacting with files in the Windows file browser, such as copying, moving folders, and getting the properties of a folder.
(i) Drives object properties
The drive object collects the contents of the physical or logical drives resource in the system, which has the following properties:
L TotalSize: The drive size is calculated in bytes (byte).
L AvailableSpace or FreeSpace: The amount of free space that is calculated for the drive in bytes (byte).
L DriveLetter: drive letter.
L DriveType: Drive type, Value: Removable (mobile media), fixed (stationary media), Network (Networking Resource), CD-ROM or RAM disk.
L SerialNumber: Serial Code of the drive.
L FileSystem: The file system type of the drive on which the value is fat, FAT32, and NTFS.
L IsReady: Whether the drive is available.
L ShareName: share name.
L VolumeName: Volume label name.
L Path and RootFolder: The path to the drive or the root directory name.
(ii) Drive object operation routines
The following routines show information such as volume label, Total capacity, and free space for 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);

Iv. Operating folder (Folders)
Actions that involve folders include creating, moving, deleting, and getting related properties.
Folder object Operation routines:
The following routines practice getting the parent folder name, creating a folder, deleting a folder, and judging whether it is the root directory, and so on:
var fso, fldr, S = "";
Creating an FileSystemObject object instance
FSO = new ActiveXObject ("Scripting.FileSystemObject");
Get the Drive object
Fldr = fso. GetFolder ("c:\\");
Show Parent directory Name
Alert ("Parent folder name is:" + Fldr + "\ n");
Show Drive name
Alert ("Contained on drive" + Fldr. Drive + "\ n");
Determine if the root directory
if (Fldr. IsRootFolder)
Alert ("This is the root folder.");
Else
Alert ("This folder isn ' t a root folder.");
Alert ("\ n");
Create a new Folder
Fso. CreateFolder ("C:\\bogus");
Alert ("Created folder C:\\bogus" + "\ n");
Show folder base name, without path name
Alert ("Basename =" + FSO.) Getbasename ("C:\\bogus") + "\ n");
Delete the Created folder
Fso. DeleteFolder ("C:\\bogus");
Alert ("Deleted folder C:\\bogus" + "\ n");

v. Operational documents (FILES)
The operation of the file is more complex than the drive and folder operations described above, and is basically divided into the following two categories: Create, copy, move, delete, and create, add, delete, and read file contents. Described in detail below.
(i) Create a file
There are 3 ways to create an empty text file, which is sometimes called a text stream.
The first is the use of the CreateTextFile method. The code is as follows:
var fso, F1;
FSO = new ActiveXObject ("Scripting.FileSystemObject");
F1 = fso. CreateTextFile ("C:\\testfile.txt", true);
The second is to use the OpenTextFile method and add the upper ForWriting property, with a value of ForWriting of 2. The code is as follows:
var fso, TS;
var forwriting= 2;
FSO = new ActiveXObject ("Scripting.FileSystemObject");
TS = fso. OpenTextFile ("C:\\Test.txt", ForWriting, True);
The third is to use the OpenAsTextStream method, as well as set the ForWriting property. The code is as follows:
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);
(ii) Adding data to a file
When a file is created, it is generally required to add data to a file by following the steps "Open file-fill data, close file".
Open the file to use the OpenTextFile method of the FileSystemObject object, or use the OpenAsTextStream method of the file object.
Fill in the data to use the Write, WriteLine, or WriteBlankLines methods of the TextStream object. In the same way that the write data is implemented, the difference between the 3 is that the Write method does not add new line breaks at the end of the write data, the WriteLine method adds a new line break at the end, and WriteBlankLines adds one or more empty rows.
Close the file can use the Close method of the TextStream object.
(iii) creating files and adding data routines
The following code combines several steps to create a file, add data, and close a file to apply:
var fso, TF;
FSO = new ActiveXObject ("Scripting.FileSystemObject");
Create a new file
tf = FSO. CreateTextFile ("C:\\testfile.txt", true);
Fill in the data and add line breaks
Tf. WriteLine ("Testing 1, 2, 3.");
Add 3 Blank Lines
Tf. WriteBlankLines (3);
Fill in one line with no line break
Tf. Write ("This is a test.");
Close File
Tf. Close ();
(d) Read the contents of the file
Read data from a text file to use the read, ReadLine, or ReadAll methods of the TextStream object. The Read method is used to read a specified number of characters in a file; the ReadLine method reads a whole line, but does not include a newline character; the ReadAll method reads the entire contents of the text file. The contents of the read are stored in a string variable for display and analysis. The skip or SkipLine method is used when reading the contents of a file using the Read or ReadLine method, if you want to skip some parts.
The following code demonstrates opening a file, filling in data, and then reading the data:
Var fso, F1, TS, s;
var ForReading = 1;
FSO = new ActiveXObject ("Scripting.FileSystemObject");
Create a file
F1 = fso. CreateTextFile ("C:\\testfile.txt", true);
Fill in a row of data
F1. WriteLine ("Hello World");
F1. WriteBlankLines (1);
Close File
F1. Close ();
Open File
TS = fso. OpenTextFile ("C:\\testfile.txt", ForReading);
Reads a row of files into a string
s = ts. ReadLine ();
displaying string information
Alert ("File contents = '" + S + "'");
Close File
Ts. Close ();
(v) Move, copy and delete files
For the above three file operations, JavaScript has two corresponding methods: File.move or filesystemobject.movefile for moving files; File.Copy or Filesystemobject.copyfile is used to copy files; File.delete or filesystemobject.deletefile is used to delete files.
The following code demonstrates creating a text file under the root of drive C, filling in some content, then moving the file to the \tmp directory, creating a copy of the file under directory \temp, and finally deleting the files from both directories:
Var fso, F1, F2, s;
FSO = new ActiveXObject ("Scripting.FileSystemObject");
F1 = fso. CreateTextFile ("C:\\testfile.txt", true);
Write a line
F1. Write ("This is a test.");
Close File
F1. Close ();
Gets the file handle under the C \ root directory
F2 = fso. GetFile ("C:\\testfile.txt");
Move files to the \tmp directory
F2. Move ("C:\\tmp\\testfile.txt");
Copy files to the \temp directory
F2. Copy ("C:\\temp\\testfile.txt");
Get file Handle
F2 = fso. GetFile ("C:\\tmp\\testfile.txt");
F3 = FSO. GetFile ("C:\\temp\\testfile.txt");
deleting files
F2. Delete ();
F3. Delete ();

Use ActiveXObject to create FileSystemObject action files in JavaScript

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.