[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
楼上的,等半天都算不出来,
其实set /p输入的行最大为1024字符,变量长度也只有8189 个字符,没必要1000000,

for /l 在预处理时会首先按数分配完后才一条条执行的,分配时也是要时间的,大概是80次等一个set a=a的执行时间。

TOP

同意楼上的观点,命令行与参数是会有一个空格分开的,并不是连在一起的。

TOP

re 58,59楼

写到临时文件的话,这样就可以了,dir + find 效率太低了
  1. @echo off
  2. echo i like the bathome,because here is the batch of the world.>x.x
  3. for %%a in (x.x) do set/a n=%%~za-2
  4. echo %n%
  5. pause
复制代码
80字符以内可以这样,是否更好一点呢?
  1. @echo off&setlocal enabledelayedexpansion
  2. set "str=i like the bathome,because here is the batch of the world."
  3. for /l %%i in (0 1 80) do (if "!str:~%%i,1!" equ "" set n=%%i&goto end)
  4. set n=0
  5. :end
  6. echo %n%&pause
复制代码

[ 本帖最后由 netbenton 于 2009-5-11 23:31 编辑 ]

TOP

re 61楼

多了两个吧,是回车和换行符,减2就可以了

TOP

返回列表