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

TOP

1.为什么你的条件引号都没有也能行?
2.结果是z"vc  ,这说明"并不是真的作为分隔符在起作用。结果2是我错了,*会连同分隔符一起显示。
Hello123World 发表于 2011-5-21 14:53

1,以前一直惯性思维,没想过引号是的真实目的,我想for可能只能读取一个参数,而""就是把多个参数合并成一个参数的媒介,同时兼具转移作用,避免=被当成语句中的分隔符,所以就去掉引号,用转义来达到它的效果
2,没细看我的代码吗?
1

评分人数

TOP

delims不能用"作为分隔符,估计是产生了语法错误,用^似乎也没法让"起作用。

TOP

本帖最后由 Hello123World 于 2011-5-21 14:59 编辑

1.为什么你的条件引号都没有也能行?
2.结果是z"vc  ,这说明"并不是真的作为分隔符在起作用。结果2是我错了,*会连同分隔符一起显示。

TOP

呀,回帖时忽然有了个猜想,验证下竟然真的可以,看来可以推翻delims不能用"作为分隔符的观点了:
  1. @echo off
  2. for /f tokens^=1*^ delims^=^" %%a in ("sd"z"vc") do echo %%b
  3. pause
复制代码
5

评分人数

TOP

3# applba
delims不能用引号作为分隔符

4# Hello123World
这个确实忘了,因为原先是分两步的,简化后忘了统一起来。

TOP

  1. @echo off
  2. (for /f "tokens=3,5 delims==> " %%a in (test.txt) do  echo %%~a,%%~b,1)>2.txt
  3. pause>nul
复制代码
一层for就能解决了,为什么还要嵌套呢?

TOP

我看直接用引号分割就够了吧。

TOP

  1. @echo off
  2. (for /f "tokens=3,5 delims==> " %%a in (1.txt) do for /f "tokens=1,2" %%c in ("%%~a %%~b") do echo %%c,%%d,1)>2.txt
复制代码

TOP

返回列表