使用Javascript将文本从一个文件复制到另一个文件

时间:2012-04-26 13:20:55

标签: copy jscript fso

我写了一个脚本(.js),它应该将所有文本从一个文件复制到另一个文件,但它不起作用(我在硬盘上运行):

var fso = new ActiveXObject("Scripting.FileSystemObject");
var myInputTextStream = fso.OpenTextFile("C:\\FILE\\back_log.log", 1, true);
var log = "C:\\Temp\\26_04_2012_16_22_49\\ext.txt";     
    var myOutputTextStream = fso.OpenTextFile(log, 8, true);
    while(myInputTextStream.AtEndOfStream)
        {
      myOutputTextStream.Write(myInputTextStream.ReadAll());
    }
      //myInputTextStream.Close();
      //myOutputTextStream.Close(); 
    WScript.Echo("FINISH!!!");

任何人都可以说我(或代码=))吗?非常感谢。

3 个答案:

答案 0 :(得分:1)

myInputTextStream.AtEndOfStreamfalse,直到读数达到EOF。因此,永远不会执行while - 循环。

如果您使用ReadAll(),则根本不需要while - 循环。

您也不应该注释掉Close() - 方法,否则可能会遇到麻烦,特别是在使用SDI卡等便携式存储设备时。

答案 1 :(得分:0)

您可以复制如下文件:

var fso, f;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.CreateTextFile("c:\\testfile.txt", true);
f.WriteLine("This is a test.");
f.Close();
f = fso.GetFile("c:\\testfile.txt");
f.Copy("c:\\windows\\desktop\\test2.txt");

(这会创建一个文件然后复制它,所以只需使用有用的部分,它包含在最后两行中。)

摘录自此处: http://msdn.microsoft.com/en-us/library/6973t06a%28v=VS.85%29.aspx

答案 2 :(得分:0)

因为javascript无法访问本地“C”驱动器,所以不确定在哪里使用它。你将在你的机器上本地运行,为什么不使用dos命令,vbscript或wscript? javascript过度。