标题: [文本处理] for %%a in (str) 中, str 可接受的最大长度是多少 [打印本页]
作者: fatcat 时间: 2012-5-1 13:10 标题: for %%a in (str) 中, str 可接受的最大长度是多少
本帖最后由 fatcat 于 2012-5-1 13:11 编辑
论坛里有几个帖子讨论了 变量, set /p 最大长度的问题, 常和 8192 这个数字相关
for %%a in (str) 中, str 可接受的最大长度是多少呢, 是以字节计, 还是以字符计呢, 这些又如何能证实呢?
抛砖引玉, 下面针对 单字节字符 作了个简单测试, 但不足以给出什么结论- @echo off & setlocal enabledelayedexpansion
- <nul >f.bin (for /l %%i in (1 1 1859) do set /p "=%%i ")
- for %%f in (f.bin) do set "i=%%~zf" & echo File size: %%~zf bytes.
- for /l %%t in () do (
- set /a "i+=1" & set "s=!s!A" & echo,Length: !i!
- for /f "delims=" %%l in (f.bin) do for %%a in (%%l!s!) do <nul set /p "=%%a,"
- echo, & pause & cls
- )
复制代码
作者: cjiabing 时间: 2012-5-1 18:04
几乎无限,应该和8192差不多,或以一行最大的长度来计算。测试:- for %a in (11111111111111111111111 …… 111111111 1) do echo;%a
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |