Board logo

标题: [其他] [已解决]批处理如何处理CALL命令的参数? [打印本页]

作者: wc726842270    时间: 2011-3-23 22:02     标题: [已解决]批处理如何处理CALL命令的参数?

想了解一下,CALL这个命令怎么才能把调用的参数当作一个整体,其中参数中含有空格
例如
for /f "delims=" %%i in (a.txt) do call :1 %%i
其中%%I有时是含有空格的,当有空格时.CALL则会把%%I当成更多的参数,我想知道.怎样才能让CALL把%%I当作一个整体
PS:请不要用临时变量的方法
作者: tmplinshi    时间: 2011-3-23 22:13

"%%i"
作者: wc726842270    时间: 2011-3-23 22:40

本帖最后由 wc726842270 于 2011-3-23 22:41 编辑

2# tmplinshi
不知道为什么。刚才也加了引号,但却错了,现在又对了。真叫人费解(不能是换了个地方吧)
作者: CrLf    时间: 2011-3-23 22:53

楼上漏了参数%%i已包含双引号的情况:
  1. @echo off
  2. for /f "delims=" %%i in (a.txt) do call :1 "%%~i"
  3. :1
  4. echo %~1
  5. echo %~*
  6. pause
复制代码





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