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

你以为这句是循环?不是的。
----------------------------------------
  1. @echo off
  2. set /a LineNum = 0, MaxLen = 0, n = 0
  3. for /f "delims=" %%a in (1.txt) do (
  4.    set /a LineNum += 1
  5.    set s=%%a#
  6.    setlocal enabledelayedexpansion
  7.     for %%a in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do (
  8.         if "!s:~%%a,1!" neq "" (
  9.             set /a n += %%a
  10.             set s=!s:~%%a!
  11.         )
  12.     )
  13.     if !n! gtr !MaxLen! (
  14.         for %%n in (!n!) do (
  15.             endlocal
  16.             set MaxLen=%%n
  17.             set str=%%a
  18.         )
  19.     ) else endlocal
  20. )
  21. set LineNum
  22. set MaxLen
  23. set str
  24. pause
复制代码

TOP

本帖最后由 tmplinshi 于 2011-6-26 11:42 编辑
为什么不是循环啊 ,我不懂的。 for(if())不满足if就跳过啊,接着下一个for的循环,没问题啊
BS0小陈 发表于 2011-6-26 11:03

我回复的时候没看见你二楼的帖子,我说的是你一楼的代码,那里没有用 call。
------------------------------

你的代码:  set s=%%a#     是什么看不懂的
批处理还有#,是什么啊  第一次看到   
我是新手 不要喷我
BS0小陈 发表于 2011-6-26 11:08

# 只是普通字符。

TOP

返回列表