1

我写了一个脚本(.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!!!");

有人可以纠正我(或代码=))吗?非常感谢。

4

3 回答 3

1

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

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

你也不应该注释掉你的Close()-methods,你可能会遇到麻烦,尤其是在使用 SDI 卡等便携式存储设备时。

于 2012-04-26T13:30:52.423 回答
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

于 2012-04-26T13:32:07.930 回答
0

由于 javascript 无法访问本地“C”驱动器,因此不确定您将在哪里使用它。既然您将在您的机器上本地运行它,为什么不直接使用 dos 命令、vbscript 或 wscript?javascript 太过分了。

于 2013-09-11T11:37:57.887 回答