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

[其他] [已解決]这两个生成连续数字的批处理有何区别?

  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1001 1 1999) do (
  3. set var=%%i
  4. echo !var:~-3!>>aaa.txt
  5. )
  6. pause
复制代码
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1001 1 1999) do (
  4.   set var=%%i
  5.   echo !var:~-3!>>cal.txt
  6.   
  7. )
  8. pause
复制代码
還想問一下!var:~-3!這里的:是代表什麽  ~代表什麽??
非常的感謝

[ 本帖最后由 smallpigs 于 2010-10-26 15:53 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

set的变量截取,你可以看看SET的一些资料,其实也没什么不同,就是重点向输出的目的地不一样而已,保存的文本不一样。

TOP

批处理set命令截取字符详解
http://bbs.bathome.net/thread-996-1-1.html
[ZT]plp626的批处理学习笔记
http://bbs.bathome.net/viewthread.php?tid=3774#pid23888

TOP

没区别啊。。。。。。

TOP

但是這兩個程序的運行結果卻不一樣啊,希望高手能告訴我!為啥呢?

TOP

@echo off&setlocal enabledelayedexpansion

@echo off
setlocal enabledelayedexpansion
這個有區別嗎,
上面一種是可以運行的,但下面一種就不能運行了,我非常的奇怪,有兩個有區別嗎?

TOP

都可以运行的,但是下面的代码“set var=%%i ”最后面多一个空格,所以截取的变量不一样。
1

评分人数

TOP

又一次证明书写代码的良好习惯的重要性,如果在给变量赋值时都能习惯的加上引号就不会出现这个问题了 ^_^
技术问题请到论坛发帖求助!

TOP

返回列表