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

[其他] [讨论]批处理for命令中tokens最多截取31位

偶然发现的一个现象。

1.txt中合计48段,47个-
  1. 17-11-15-13-11-19-21-7-9-14-14-8-11-14-18-12-7-8-11-2-17-7-16-18-17-12-13-15-15-16-11-14-13-14-16-15-16-14-11-14-12-15-10-18
复制代码
  1. @echo off
  2. for /f "delims=- tokens=31" %%i in (1.txt) do echo %%i %%j
  3. pause
复制代码
显示11,%j
  1. @echo off
  2. for /f "delims=- tokens=32" %%i in (1.txt) do echo %%i %%j
  3. pause
复制代码
不显示。


经测试tokens最多截取,2的5次幂-1,即31段。
是不是因为32位的系统,所以就是32-1?64位系统可能就是,63段?

回复 3# CrLf


    你用的是64位的系统

TOP

本帖最后由 Hello123World 于 2011-10-7 18:26 编辑

论坛又禁止发表情了

TOP

回复 7# 601997526


    这个问题问的有水平,也有意思

TOP

回复 8# CrLf


    字符编码排序 是指按照ascii码排序?

TOP

  1. @echo off
  2. For /f "tokens=1-2 delims=-" %%? in (1.txt) do echo %%? %%@
  3. pause
复制代码
还真是按照ascii码排序的,呵呵。

TOP

回复 11# HAT


    恩,确实挖的还不够深,还得努力。

TOP


奇怪啊,我怎么发不出表情?

TOP

我对寒夜sama的敬仰,一直犹如滔滔江水延绵不绝,又如黄河泛滥一发不可收拾

TOP

8+4+2+1=15……

11111?

TOP

返回列表