Board logo

标题: [文本处理] [已解决]批处理for命令%%x的疑问 [打印本页]

作者: freesoft00    时间: 2015-3-25 23:09     标题: [已解决]批处理for命令%%x的疑问

  1. for /f  %%a in ('命令') do (
  2.     for %%b in (%%a) do (
  3.         命令
  4. ))
  5. for /f %%a in ('命令') do set www=%%a
  6. for /f %%a in ('命令') do set tt=%%a
  7. for /f  %%a in ('命令') do (
  8.     for %%b in (%%a) do (
  9.         for %%c in (%%b) do (
  10. )))
复制代码
上面是一个批处理,for %%a 写的对不对?
不同的for都可以用一个%%a,还是在一个批处理要分开,
比如第一个用%%a ,第二个就用%%b ,第三个就用%%c
for /f %%c in ('命令') do set www=%%c
第四个用for /f %%d in ('命令') do set tt=%%d
作者: cobat    时间: 2015-3-25 23:16

  1. @echo off
  2. for %%a in (123) do for %%a in (%%a456) do echo %%a
  3. pause
复制代码

作者: freesoft00    时间: 2015-3-25 23:39

哦,用一个%%a就可以了
作者: CrLf    时间: 2015-3-26 00:21

可以用同一个,不过里层的会顶替外层的,一般为了区分层级,建议从外到里用 a~z
作者: freesoft00    时间: 2015-3-26 08:42

回复 4# CrLf
  1. for /f  %%a in ('命令') do (
  2.     for %%b in (%%a) do (
  3.         for %%c in (%%b) do (
  4. )))
复制代码
这属于层级中的,这样用。

不在一个层级中的单独for(都在一个批处理中)
for /f %%a in ('命令') do set www=%%a
for /f %%a in ('命令') do set tt=%%a
都用一个%%A是否可以?
作者: pcl_test    时间: 2015-3-26 11:07

回复 5# freesoft00
可以的,只是为了便于区分和可阅读性,建议不同的for语句用不同的%%?区别开来
作者: freesoft00    时间: 2015-3-26 11:35

好的,明白了,谢谢各位!
作者: CGQNET    时间: 2015-3-26 20:14

同意5#的观点




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2