找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29961|回复: 10

[数值计算] 【已解决】批处理命令for /l里面的变量为什么一直是0?

[复制链接]
发表于 2014-10-8 10:41:00 | 显示全部楼层 |阅读模式
本帖最后由 chouxia 于 2014-10-28 08:41 编辑
  1. set e=0
  2. for /l %%i in (1,1,%i%) do (
  3.         set /a e=%e%+1
  4.         echo %e%
  5.         echo echo off > \1avi\%j%\%e%.bat
  6.         echo this is a test >> \1avi\%j%\%e%.bat
  7.         start \1avi\%j%\%e%.bat
  8. )
复制代码
我想请教下  在这个情况下为什么set /a e=%e%+1这条指令没有执行。变量e一直是0?
 楼主| 发表于 2014-10-8 10:49:21 | 显示全部楼层
还有个问题,我如何将批处理的输出重定向到文本的一行中?
也就是说将 echo this is a test >> \1avi\%j%\%e%.bat      把这行内容输入到文件文件的第一行末尾。
发表于 2014-10-8 11:25:53 | 显示全部楼层
开启变量延迟扩展
  1. setlocal enabledelayedexpansion
  2. set e=0
  3. for /l %%i in (1,1,%i%) do (
  4.     set /a e+=1
  5.     echo !e!
  6. )
复制代码
发表于 2014-10-8 11:28:28 | 显示全部楼层
回复 2# chouxia


set /p =this is a test <nul >>a.bat
 楼主| 发表于 2014-10-8 11:46:51 | 显示全部楼层
谢谢 领导  辛苦了   精神上请你吃大餐  肉体上你自己搞定吧  
 楼主| 发表于 2014-10-8 12:09:57 | 显示全部楼层
setlocal enabledelayedexpansion
set e=0
for /l %%i in (1,1,%i%) do (
        set /a e+=1
        echo !e!
        echo echo off > \1avi\%j%\!e!.bat
        echo this is a test >> \1avi\%j%\!e!.bat
        start \1avi\%j%\!e!.bat
)
不管是set /a e+=1 还是set /a e=!e!+1都不生效
还有 set /p =this is a test <nul >>a.bat这行为什么这么写呢?
另外,批量合并文件 我想到用sed来完成 用echo this is a test >a.bat
然后用sed做同行编辑。最后用start启动批处理。
不知道这个方法可行不?
有什么需要注意的地方?
发表于 2014-10-8 12:47:50 | 显示全部楼层
回复 6# chouxia
这样不一样吗

  1. setlocal enabledelayedexpansion
  2. for /l %%i in (1,1,%i%) do (
  3.         echo echo off > \1avi\%j%\%%i.bat
  4.         echo this is a test >> \1avi\%j%\%%i.bat
  5.         start \1avi\%j%\%%i.bat
  6. )
  7.    
复制代码
 楼主| 发表于 2014-10-8 12:51:58 | 显示全部楼层
对啊 楼上的  我这犯二了
发表于 2014-10-8 13:32:46 | 显示全部楼层
回复 6# chouxia


echo 命令会在行尾添加回车换行
set /p 命令可以避免这个问题
 楼主| 发表于 2014-10-8 14:17:25 | 显示全部楼层
回复 9# Batcher


    那是不是说我用循环可以在这一行一直输入内容?
这样我就可以使用合并功能了吧!
发表于 2014-10-8 18:10:59 | 显示全部楼层
回复 10# chouxia


    亲自试试就知道啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 17:00 , Processed in 0.019809 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表