Board logo

标题: [问题求助] 【已解决】JS代码的路径变量如何表述? [打印本页]

作者: 思想之翼    时间: 2023-5-25 03:20     标题: 【已解决】JS代码的路径变量如何表述?

求教:下列js代码,第1行 第2行 子文件夹 000001~100000 的路径变量如何表述?
  1. var path1 = 'C:\\文件夹1\\000001~100000\\';     //源文件路径
  2. var path2 = 'C:\\文件夹2\\000001~100000\\';     //目标文件路径
  3. var getText = function(file){
  4.     var ado = new ActiveXObject('Adodb.Stream');
  5.     ado.Type = 2;
  6.     ado.CharSet = 'UTF-8';
  7.     ado.Open();
  8.     ado.LoadFromFile(file);
  9.     var text = ado.ReadText(-1);
  10.     ado.Close();
  11.     return text;
  12. }
  13. var saveFile = function(file){
  14.     var ado = new ActiveXObject('Adodb.Stream');
  15.     ado.Type = 2;
  16.     ado.CharSet = 'UTF-8';
  17.     ado.Open();
  18.     ado.WriteText(out.join('\r\n'));
  19.     ado.SaveToFile(file, 2);
  20.     ado.Close();
  21. }
  22. var fso = new ActiveXObject('Scripting.FileSystemObject');
  23. if( !fso.FolderExists(path2) ) fso.CreateFolder(path2);
  24. var e = new Enumerator( fso.GetFolder(path1).Files );
  25. var reg = /^((?:(?!->)\S)+)=(\S+)(?=\r\n|$)/mg;
  26. for(; !e.atEnd(); e.moveNext()){
  27.     if( !/\.txt$/i.test(e.item().Name) ) continue;
  28.     var map = {};
  29.     var out = [];
  30.     var str = getText( e.item().Path );
  31.     while( arr = reg.exec(str) ){
  32.         var key = arr[1].toLowerCase();
  33.         map[key] = map.hasOwnProperty(key) ? map[key] + ' ' + arr[2] : arr[0];
  34.     }
  35.     for( var key in map ) out.push(map[key]);
  36.     saveFile( path2 + e.item().Name );
  37. }
复制代码

作者: terse    时间: 2023-5-25 07:37

试试 在 for(; !e.atEnd(); e.moveNext()) 这个 外面再建一个FOR
作者: czjt1234    时间: 2023-5-25 08:18

很美的代码




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2