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

[文本处理] [已解决]批处理for语句第二个括号里面的命令行如果带有()要怎么处理?

本帖最后由 fcymk2 于 2012-11-7 14:45 编辑

for %%i in (XXX) do(...)

现在do 里面有好几条命令, 命令都是带()的, 如果do也带()的话, 就冲突了,命令无法执行, 如果do后面不带()的话, 只能执行一条语句.

要怎么处理才能让 do后面的() 和命令里面的()不冲突?
1

评分人数

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

  1. for /l %%i in (1 1 10) do (if %%i==5 (echo aaa) else (echo b))
复制代码
你看看这个for里面不就有括号吗,楼主还是发个你写的代码来看看问题到底是出在哪了

TOP

在(和)前加上一个^:
  1. for  %%i in (a b c) do (
  2. echo ^(LKL^)
  3. echo ^(OOO^)
  4. echo ^(%%i^)
  5. pause>nul
  6. )
复制代码
1

评分人数

为何批处理不适合做界面
为何随风讨厌call命令
http://bbs.bathome.net/thread-4482-1-10.html

TOP

注意换行与成对出现就不会出问题了

TOP

回复 3# raymai97

感谢, 加上^后就正常了.....原先在这发完帖子后都忘了@_@  后来一直是在语句后面 加 & 把2条语句连起来用的...

附上原先 不用^ 的时候出错的语句for %%i in (%file_c%) do (%C51BIN%\C51.EXE %srcdir%\%%i.c %option1% PRINT(%lstdir%\%%i.lst) OBJECT(%lstdir%\%%i.obj))

TOP

返回列表