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

[其他] [分享]一个for语句另类应用的简单批处理代码

[复制链接]
发表于 2011-11-22 22:48:09 | 显示全部楼层 |阅读模式

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set var=for %%i in (A B C) do (echo %%i)
  4. %var%
  5. %var%>>1.txt
  6. pause
复制代码

评分

参与人数 1PB +5 收起 理由
CrLf + 5 感谢分享

查看全部评分

发表于 2011-11-22 23:11:41 | 显示全部楼层
哪里另类?
发表于 2011-11-22 23:31:41 | 显示全部楼层
没什么啊,早有了,命令做变量而已,和call一样。
发表于 2011-11-23 11:24:28 | 显示全部楼层
  1. 重在积累,我也来个set命令替换字符串%var:*"=set "var=%的使用:
  2. 要了解这个语句我们先来看关于set的赋值例子:

  3. set a=1a23b         
  4.            变量a的值为1a23b(这个太easy了吧)

  5. set a=1"a"23"b        
  6.            变量的值为1"a"23"b(同上)

  7. set "a=1"a"23"b         
  8.            这个a是什么?是1还是1"a"23    经过测试a=1"a"23  就是说有引号时他是找最后一个引号的多余的就没了如b

  9. 那set "a=1aa23aa      
  10.            这个怎么样,会不会出错呢?经过我的测试没问题无视一个引号 a=1aa23aa

  11. 再看 :set a=1"2"3"&echo %a:*"=%   
  12.            结果是2"3"就把第一个引号和前面的都去了

  13. 那这个呢:set "a=1a"&echo %a:*"=%   
  14.            结果是1a 变量的转换就多余了即使这里的*“是没用的

  15.   怎么在复习set,好开始正题:

  16. @echo off
  17. set var=a"bs"c
  18. %var:*"=set "var=%
  19. echo %var%
  20. pause

  21. 上面的结果为bs。我们把变量带进来看:a"bs"c:*"=set "var=

  22. 这里的*"指的是a"所以就变成了set "var=bs"c

  23. 这样就回到了普通的set定义变量了c就是多余的了。

  24. 如果上面你想要输出的是:bs"c 那么我们就改成:%var:*"=set var=%

  25. 原理知道了怎么改都行!
复制代码
发表于 2011-11-23 12:32:30 | 显示全部楼层
这些有什么用?什么时候用呢?没觉得有用!
楼上!
发表于 2011-11-23 15:42:19 | 显示全部楼层
也许楼主应该看看这个http://www.bathome.net/thread-5861-1-1.html
发表于 2011-11-24 15:19:06 | 显示全部楼层
变量延迟没必要开。
  1. @echo off
  2. set var=for %%i in (A B C) do (echo %%i)
  3. echo %var%
  4. pause
复制代码


原理就是把“for %%i in (A B C) do (echo %%i)”整句当成变量var的值。
发表于 2011-11-24 15:20:26 | 显示全部楼层
与其说是for命令的,还不如说是set命令的……
 楼主| 发表于 2011-11-25 18:29:02 | 显示全部楼层
在下菜鸟让各位见笑了,对我来说已经是另类了,说明我知识太匮乏了。失礼了
发表于 2011-11-25 23:12:04 | 显示全部楼层
回复 9# szjwxn


    加油!!!都是从菜鸟过来的^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 12:05 , Processed in 0.021152 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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