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

[其他] 批处理在for中使用标签循环出现错误

已知,H:\2.txt中内容为:
  1.   " "Hello1 and hello2" "   
  2.       World1 and world2  
复制代码
bat代码如下
  1. @echo off
  2. Setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%a in (H:\2.txt) do (
  4. echo,源1=%%a
  5. set "str=%%a"
  6. :Loop
  7. if "!str:~-1!"==" " (set "str=!str:~,-1!"&goto:loop)
  8. echo,源2=%%a
  9. echo,新=★!str!★
  10. )
复制代码
执行结果为:
  1. 源1=" "Hello1 and hello2" "
  2. 源2=%a
  3. 新=★" "Hello1 and hello2" "★
  4. 请按任意键继续. . .
复制代码
【问题】
1、参量%%a,在:loop语句后,结果被清空了,为什么?
2、H:\1.txt和第2句,为什么没有参与for循环?

回复 4# /zhqsystem/zhq
本来是不想在for内部使用标签的,这种方法远远没有call调用方便,但是call 调用在带参数时,如果参数中有不规范的引号,怎么传递结果都不理想。
请看原贴:
http://www.bathome.net/thread-51243-1-1.html

TOP

返回列表