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

[数值计算] [已解决]变量延迟扩展如何应用到这个批处理中?

这是前面一个人出的题:[已解决]批处理怎样把文本每行增加上3行下3行内容?(http://www.bathome.net/thread-7632-1-2.html)。寒夜孤星师父让我写一个出来,我就写了这个代码,但是运行后不能得到结果,我怀疑是我没整对变量延迟扩展,也怀疑是代码的问题。但是水平有限,无法查错,请大家帮我分析分析。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1,1,9) do (
  4.   set str=123456789
  5.   set /a n+=1
  6.                                      )
  7. for /l %%a in (1,1,9) do (
  8.   set num=%%a
  9.   for %%i in (n-3,n-2,n-1,n+1,n+2,n+3) do (
  10.     set /a stt=%%i
  11.     if !stt! geq 9 set /a stt=stt%%9
  12.     if !num! gtr 1 set /a stt=stt+num-1
  13.     call echo %%num%%,%%str:~!stt!,1%% !stt!
  14.                                           )
  15.                          )
  16. pause
复制代码
为了查看方便,call echo %%num%%,%%str:~!stt!,1%% !stt!这里的空格是tab。

[ 本帖最后由 sgaizxt001 于 2010-4-23 02:21 编辑 ]

回复寒夜孤星

我的方法是笨,不过既然写了不能运行就想知道是哪出错了。就像你跟我说的一样,要看的懂别人的代码也要复习自己的代码。
如果是1到100的话,这个就没办法了。截不了字符了

[ 本帖最后由 sgaizxt001 于 2010-4-23 02:39 编辑 ]

TOP

返回列表