我写了一个脚本(.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!!!");
任何人都可以说我(或代码=))吗?非常感谢。
答案 0 :(得分:1)
myInputTextStream.AtEndOfStream
为false
,直到读数达到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过度。