Board logo

标题: [文本处理] 批处理代码无法持续循环运行,求助查找原因? [打印本页]

作者: kit00001    时间: 2016-3-2 19:59     标题: 批处理代码无法持续循环运行,求助查找原因?

其实是chrome的收藏夹文件,原理是检测下一行是否含有 type folder,如果有就不显示上面一行,这个程序有时会跑几百次循环就跳出,有时跑几次就跳出,大侠这到底是为什么呢
  1. :yy
  2. set a=0
  3. set j=0
  4. set k=0
  5. :aa
  6. set /a j=j+1
  7. @for /f "skip=%j% delims=" %%i in (b_1) do set a=%%i & goto bb
  8. :bb
  9. set /a j=j+1
  10. @for /f "skip=%j% delims=" %%j in (b_1) do set k=%%j & goto cc
  11. :cc
  12. @if "%k%"=="               "type": "folder" " (echo %a% >>b2.txt goto aa) else (echo %a% >>b2.txt & echo %k% >>b2.txt & goto aa)
复制代码

作者: gawk    时间: 2016-3-2 20:33

把以下三个文件打包压缩上传到顶楼:
bat脚本
b_1
b2.txt
作者: kit00001    时间: 2016-3-2 21:34

E:\新建文件夹>set /a j=j+1

E:\新建文件夹>for /F "skip=449 delims=" %i in (b1) do set a=%i   & goto bb

E:\新建文件夹>set a=                     "id": "80",   & goto bb

E:\新建文件夹>set /a j=j+1

E:\新建文件夹>for /F "skip=450 delims=" %j in (b1) do set k=%j   & goto cc

E:\新建文件夹>set k=                     "name": "视讯自拍1 - 视频 - ThisAV.com-
世界第一中文**娱乐网站",   & goto cc
此时不应有 -。

E:\新建文件夹>if "                     "name": "视讯自拍1 - 视频 - ThisAV.com-世
界第一中文**娱乐网站", "=="               "type": "folder" " (echo
          "id": "80",  >>b2.txt goto aa) else (echo                      "id": "
80",  >>b2.txt & echo                      "name": "视讯自拍1 - 视频 - ThisAV.co
m-世界第一中文**娱乐网站",  >>b2.txt & goto aa)


然后就跳出了.........
作者: kit00001    时间: 2016-3-2 21:37

有个办法是用echo代替set 输出到两个文本文件上
再用for遍历文本再if判断,但是....是不是有更简单的方法呢
作者: kit00001    时间: 2016-3-2 21:47

我的意思是 set 怎样才可以不无故报错呢




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