首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript (WSH/HTA) 讀取本地文本文件,在每行末尾追加字符串並寫回

     編輯:程式設計綜合問答

適用環境

Windows Script Host (`.js` 雙擊運行) 或 HTA 應用,**不可用於瀏覽器網頁**(安全沙箱禁止訪問本地文件系统)。

完整代碼

var fso = new ActiveXObject("Scripting.FileSystemObject");
var filePath = "D:\\a.txt";

// 1. 讀取全部內容
var file = fso.OpenTextFile(filePath, 1); // 1 = ForReading
var content = file.ReadAll();
file.Close();

// 2. 按行分割(兼容 \r\n、\n、\r)
var lines = content.split(/\r?\n/);

// 3. 每行末尾追加字符串
var suffix = "【追加內容】";
for (var i = 0; i < lines.length; i++) {
    lines[i] += suffix;
}

// 4. 寫回文件(覆蓋)
file = fso.CreateTextFile(filePath, true); // true = overwrite
file.Write(lines.join("\r\n")); // Windows 換行符
file.Close();

WScript.Echo("操作完成!");

關鍵點說明

  • `ActiveXObject("Scripting.FileSystemObject")`:WSH 核心文件操作對象。
  • `OpenTextFile(path, 1/2/8, true)`:模式 `1`讀、`2`寫、`8`追加;第三參數 `true` 為創建文件。
  • `ReadAll()` 一次讀完,**大文件慎用**(內存壓力),可改用 `ReadLine()` 逐行處理。
  • `split(/\r?\n/)` 正則兼容多種換行符。
  • `CreateTextFile` 會**清空原文件**,若需保險可先寫臨時文件再替換。

大文件流式處理版(內存友好)

var fso = new ActiveXObject("Scripting.FileSystemObject");
var src = fso.OpenTextFile("D:\\a.txt", 1);
var dst = fso.CreateTextFile("D:\\a.txt.tmp", true);
var suffix = "【追加內容】";

while (!src.AtEndOfStream) {
    var line = src.ReadLine();
    dst.WriteLine(line + suffix);
}
src.Close();
dst.Close();

// 原子替換
fso.DeleteFile("D:\\a.txt");
fso.MoveFile("D:\\a.txt.tmp", "D:\\a.txt");

根據文件大小選擇全量讀取或流式處理,均可實現「每行末尾追加字符串」。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved