返回列表 发帖
楼上的,等半天都算不出来,
其实set /p输入的行最大为1024字符,变量长度也只有8189 个字符,没必要1000000,

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

TOP

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

TOP

re 58,59楼

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

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

TOP

re 61楼

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

TOP

返回列表