Board logo

标题: [文本处理] 【已解决】批处理:如何在代码中添加循环 [打印本页]

作者: 思想之翼    时间: 2015-12-16 04:54     标题: 【已解决】批处理:如何在代码中添加循环

本帖最后由 思想之翼 于 2015-12-16 12:23 编辑
  1. @set @n=0;//&cscript -nologo -e:jscript "%~0"<a.txt>b.txt & pause & exit
  2. while (!WScript.StdIn.AtEndOfStream) {
  3.         str = WScript.StdIn.ReadLine();
  4.         if (!/^\s*$/.test(str)) WScript.Echo(getNum(str))
  5. }
  6. function getNum(s) {
  7.         ar = [];
  8.         for (i=10; i<=19; i++) {
  9.                 s1 = (i + "").substr(1);
  10.                 ar.push(s.split(s1).length + "=" + s1);
  11.         }
  12.         ar.sort(function(x,y){return y.split("=")[0]-x.split("=")[0]});
  13.         return ar.join(" ").replace(/\d+=/g, "");
  14. }
复制代码
如何在上述第一行代码添加循环?
for %%a in ("D:/数据/*.txt") do (
        cscript -nologo -e:jscript "%~0"<"%%a" >"D:/数据/新文本/%%~nxa"
)
作者: WHY    时间: 2015-12-16 09:17

这个代码的作用是什么?你需要实现什么样的功能?
作者: 思想之翼    时间: 2015-12-16 09:32

回复 2# WHY

感谢关注。
是关于这个帖子的扩展运用http://www.bathome.net/viewthread.php?tid=32677&highlight=
作者: 回家路上    时间: 2015-12-16 09:47

论坛搜索 / JS模块顶层。

我很好奇,你仿照这会写不。求满足好奇心。O(∩_∩)O!
http://www.bathome.net/thread-31329-1-1.html
作者: pcl_test    时间: 2015-12-16 10:47

本帖最后由 pcl_test 于 2015-12-16 11:09 编辑

为何你提供的路径总是用正斜杠
作者: WHY    时间: 2015-12-16 10:55

  1. @set @n=0;/* & echo off
  2. set "fd=D:\数据\新文本\"
  3. md "%fd%" 2>nul
  4. pushd D:\数据\
  5. dir /b *.txt | cscript -nologo -e:jscript "%~0" "%fd%"
  6. pause & exit
  7. */
  8. var fd = WScript.Arguments(0);
  9. var fso = new ActiveXObject('Scripting.FileSystemObject');
  10. while (!WScript.StdIn.AtEndOfStream) {
  11.         var f = WScript.StdIn.ReadLine();
  12.         var arr = readTextFile(f).split('\r\n');
  13.         var str = '';
  14.         for(var i=0; i<arr.length; i++){
  15.                 if (!/^\s*$/.test(arr[i])) str += getNum(arr[i]) + '\r\n';
  16.         }
  17.         fso.OpenTextFile(fd + f, 2, true).Write(str)
  18. }
  19. function readTextFile(strFile) {
  20.         var objFile = fso.OpenTextFile(strFile, 1);
  21.         var s = objFile.ReadAll();
  22.         objFile.Close(); objFile = null;
  23.         return s
  24. }
  25. function getNum(s) {
  26.         var ar = [];
  27.         for (var i=0; i<=9; i++) {
  28.                 ar.push(s.split(i).length + "=" + i);
  29.         }
  30.         ar.sort(function(x,y){return y.split("=")[0]-x.split("=")[0]});
  31.         return ar.join(" ").replace(/\d+=/g, "");
  32. }
复制代码





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