[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 【已解决】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. }
复制代码

试试 在 for(; !e.atEnd(); e.moveNext()) 这个 外面再建一个FOR
1

评分人数

TOP

很美的代码

QQ 20147578

TOP

返回列表