24-2 ������������

§Ú­Ì¨Ï¥Î¤U¦C³o­Ó½d¨Ò¡A¨Ó»¡©ú WSH ¹ï©óÀɮתºÅª¼g¡C­º¥ý§Ú­Ì±q file1.txt ¤Î file2.txt Ū¤JÀɮתº¤º®e¡A¦A§â³o¨â­ÓÀɮתº¤º®e¼g¨ì file3.txt¡A½d¨Ò¦p¤U¡G

­ì©lÀÉ¡]mergeTwoFiles.js¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
// ¦X¨Ö¨â­ÓÀÉ®×

fso = new ActiveXObject("Scripting.FileSystemObject");
file1 = "file1.txt";
file2 = "file2.txt";
file3 = "file3.txt";

// Open files
f1=fso.OpenTextFile(file1, 1 );	// Open for reading  
f2=fso.OpenTextFile(file2, 1 );	// Open for reading  
f3=fso.OpenTextFile(file3, 2, true );	// Open for writing, create  

WScript.Echo("Ū¨ú²Ä¤@­ÓÀɮסG" + file1);
c1=f1.ReadAll();
WScript.Echo("Ū¨ú²Ä¤G­ÓÀɮסG" + file2);
c2=f2.ReadAll();
WScript.Echo("¼g¨ì²Ä¤T­ÓÀɮסG" + file3);
f3.Write(c1);	// Write Data from first file to output
f3.Write(c2);	// Write Data from second file to output

// Close files  
f1.Close();
f2.Close();
f3.Close();

¨ä¤¤ file1.txt ªº¤º®e¦p¤U¡G

­ì©lÀÉ¡]file1.txt¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
³o¬O file1.txt ªº¤º®e¡C

¨ä¤¤ file2.txt ªº¤º®e¦p¤U¡G

­ì©lÀÉ¡]file2.txt¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
³o¬O file2.txt ªº¤º®e¡C

¦X¨Ö«áÀx¦s©ó file3.txt ªº¤º®e¦p¤U¡G

­ì©lÀÉ¡]file3.txt¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
³o¬O file1.txt ªº¤º®e¡C³o¬O file2.txt ªº¤º®e¡C

¦pªG§Ú­Ì±`±`Ū¨úÀɮסA¥i¥H¼g¤@­Ó¨ç¼Æ fileRead()¡A±NÀɮפº®e°e¨ì°}¦C¡A«K©ó¶i¦æ³v¦Cªº³B²z¡C¥H¤U¬O¤@­Ó²³æªº½d¨Ò¡A¥i¥HŪ¤J¦¹½d¨Ò¥»¨­¡A³v¦C¥[¤W¦C¼Æ«á¦A¶i¦æ¿é¥X¡G

­ì©lÀÉ¡]fileRead01.js¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
// ±NÀɮפº®e¶Ç°e¦Ü°}¦C
WScript.Echo("¦C¥X "+WScript.ScriptName+" ªº¤º®e¨Ã¥[¤W¦C¼Æ¡G");
WScript.Echo("");
outputArray=fileRead(WScript.ScriptName);
for (i=0; i<outputArray.length; i++)
	WScript.Echo((i+1)+". " + outputArray[i]);

// ¨ç¼Æ©w¸q
function fileRead(File){
	var fso=new ActiveXObject("Scripting.FileSystemObject");
	var fid=fso.OpenTextFile(File);
	var contents=fid.ReadAll();
	fid.Close();
	var output=contents.split("\n");
	return(output);
}

°õ¦æ¦¹Àɮ׫á¡A±N¦b DOS ©R¥Oµøµ¡¦L¥X¦¹Àɮתº¤º®e¨Ã¥[¤J¦C¼Æ¡A¦p¤U¡G

¦C¥X fileRead01.js ªº¤º®e¨Ã¥[¤W¦C¼Æ¡G 1. // ±NÀɮפº®e¶Ç°e¦Ü°}¦C 2. WScript.Echo("¦C¥X "+WScript.ScriptName+" ªº¤º®e¨Ã¥[¤W¦C¼Æ¡G"); 3. WScript.Echo(""); 4. outputArray=fileRead(WScript.ScriptName); 5. for (i=0; i<outputArray.length; i++) 6. WScript.Echo((i+1)+". " + outputArray[i]); 7. 8. // ¨ç¼Æ©w¸q 9. function fileRead(File){ 10. var fso=new ActiveXObject("Scripting.FileSystemObject"); 11. var fid=fso.OpenTextFile(File); 12. var contents=fid.ReadAll(); 13. fid.Close(); 14. var output=contents.split("\n"); 15. return(output); 16. } §Ú­Ì¥i¥H¨Ï¥Î WSH ¨ÓŪ¨ú»PÀɮ׬ÛÃöªº©Ê½è¡A¨Ò¦p¡G

­ì©lÀÉ¡]fileProp01.js¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
// ¦C¥X¦¹ WSH ÀɮשҨ㦳ªºÄÝ©Ê

fso = new ActiveXObject( "Scripting.FileSystemObject" );
fileObj = fso.GetFile(WScript.ScriptFullName);
WScript.Echo("WScript.ScriptFullName = " + WScript.ScriptFullName);
prop=[
	"Attributes",
	"Size",
	"DateCreated",
	"DateLastAccessed",
	"DateLastModified",
	"Drive",
	"Name",
	"ParentFolder",
	"ShortName",
	"ShortPath",
	"Type"];

for (i=0; i<prop.length; i++)
	WScript.Echo("fileObj." + prop[i] + " = " + eval("fileObj."+prop[i]));

¨å«¬Åã¥Üµ²ªG¦p¤U¡G

WScript.ScriptFullName = D:\users\jang\books\wsh\example\fileProp01.js fileObj.Attributes = 32 fileObj.Size = 504 fileObj.DateCreated = Tue Apr 11 19:59:05 UTC+0800 2006 fileObj.DateLastAccessed = Mon Dec 18 00:00:00 UTC+0800 2006 fileObj.DateLastModified = Mon Dec 18 14:40:08 UTC+0800 2006 fileObj.Drive = D: fileObj.Name = fileProp01.js fileObj.ParentFolder = D:\users\jang\books\wsh\example fileObj.ShortName = FILEPR~1.JS fileObj.ShortPath = D:\users\jang\books\wsh\example\FILEPR~1.JS fileObj.Type = JScript Script File

Hint
¦ý¦p¦ó¯à¦Û°Ê¥Ñ¤@­ÓÀɮת«¥ó§ì¨ú©Ò¦³ªº©Ê½è©O¡H½Ð¦U¦ìŪªÌ·Q¤@·Q¡I


JScript µ{¦¡³]­p»PÀ³¥Î¡G¥Î©ó³æ¾÷ªº WSH Àô¹Ò