Board logo

标题: [文本处理] 【已解决】求教:如何正确添加循环语句 [打印本页]

作者: 思想之翼    时间: 2022-10-26 16:21     标题: 【已解决】求教:如何正确添加循环语句

本帖最后由 思想之翼 于 2022-11-5 19:59 编辑

下列代码欲在标红处添加循环语句,结果出错。恳望指点如何正确修改。

@if(0)==(0) echo off
type e:\数据1\001.txt | cscript //nologo //e:jscript "%~f0" > e:\数据2\001.txt
pause & exit
@end

Array.prototype.contains = function(s){
    for( var i=0; i < this.length; i++ ){
        if( s == this ) return true;
    }
    return false;
}

var out =[], max = 0;

while( !WSH.StdIn.AtEndOfStream ){
    var arrLine = WSH.StdIn.ReadLine().split(/\s/);                  //每行按单个空格或Tab分割数组
    for(var i = 0; i < arrLine.length;i++){
        if( out instanceof Array == false ) out = [];
        if( out.contains(arrLine) ) continue;                        //去重复
        out.push(arrLine);                                                  //数据放入二维数组
        max = max <out.length ? out.length : max;           //求最大行数
    }
}

for( var i = 0; i < max; i++ ){               //行
    var str = '';
    for( var j = 0; j < out.length; j++ ){  //列
        str += ( out[j] == undefined ? '' : out[j] ) + '\t';
    }
    WSH.Echo(str);
}


@if(0)==(0) echo off
For f = 1 to 441
    For z = 1 to 100

type e:\数据1\" & Right("00" & f, 3) & "\" & Right("00" & z, 3) & ".txt | cscript //nologo //e:jscript "%~f0" > e:\数据2\ "& Right("00" & f, 3) & "\" & Right("00" & z, 3) &" .txt
pause & exit
@end
......
     Next
Next

作者: idwma    时间: 2022-11-3 18:31

bat部分的循环大概像这样,数字前面补0的方法可以搜一下论坛呀
  1. @if(0)==(0) echo off
  2. for /l %%f in (1,1,441) do (
  3.    for /l %%z in (1,1,100) do (
  4. type "e:\数据1\%%f\%%z.txt" | cscript //nologo //e:jscript "%~f0" > "e:\数据2\%%f\%%z.txt"
  5. ))
  6. pause & exit
  7. @end
复制代码





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