[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
sed好像不支持utf-8吧。
使用前注意备份。
  1. @set @n=0//& cscript.exe -e:jscript "%~f0" &pause&exit/b
  2. strQuery = "select name from CIM_DataFile where "
  3.     + " drive='E:' and path like '\\\\A\\\\%' and ("
  4.     + "(filename='a' and extension='opf') or "
  5.     + "(filename='dc' and extension='xml'))";
  6. wmi = new ActiveXObject("WbemScripting.SWbemLocator").ConnectServer();
  7. colFiles = wmi.ExecQuery(strQuery, "WQL", 48);
  8. e = new Enumerator(colFiles);
  9. for (; !e.atEnd(); e.moveNext())
  10. {
  11.     f = e.item().name;
  12.     s = readtext(f);
  13.     s = s.replace(/<dc:title1>[^<>]*<\/dc:title1>|<dc:title2>[^<>]*<\/dc:title2>|<dc:title3>[^<>]*<\/dc:title3>|<publisher1>[^<>]*<\/publisher1>|<contributor1>[^<>]*<\/dc:contributor1>|<relation1>[^<>]*<\/relation1>/g, '');
  14.     writetext(f, s);
  15. }
  16. function readtext(file, charset)
  17. {
  18.     var text;
  19.     var aso = new ActiveXObject('ADODB.Stream');
  20.     aso.Mode = 3;
  21.     aso.Type = 2;
  22.     if (charset) aso.Charset = charset;
  23.     else aso.Charset = 'utf-8';
  24.     aso.Open();
  25.     aso.LoadFromFile(file);
  26.     text = aso.ReadText(-1);
  27.     aso.Close();
  28.     aso = null;
  29.     return text;
  30. }
  31. function writetext(file, text, charset)
  32. {
  33.     var aso = new ActiveXObject('ADODB.Stream');
  34.     aso.Mode = 3;
  35.     aso.Type = 2;
  36.     if (charset) aso.Charset = charset;
  37.     else aso.Charset = 'utf-8';
  38.     aso.Open();
  39.     aso.WriteText(text);
  40.     aso.SaveToFile(file, 2);
  41.     aso.Close();
  42.     aso = null;
  43. }
复制代码
2

评分人数

TOP

回复 15# 001011


    把第一行改成
  1. @set @n=0/*& echo off
  2. cscript.exe -e:jscript "%~f0"
  3. rem add your code here
  4. rem ...
  5. pause
  6. exit/b
  7. */
复制代码

TOP

回复 18# 001011


    改了后整个代码保存为一个bat文件。这是 bat + js 二合一。

TOP

返回列表