批处理文件:如何迭代符号列表?

时间:2014-08-15 14:54:47

标签: batch-file

我试图运行以下代码行:

for %%i in (+ - * /) do echo %%i

但是,不是打印符号,而是在我的计算机上打印一个奇怪的巨大文件列表。

但是,如果我用hi之类的单词替换符号列表,它会按预期工作。

出了什么问题,我怎样才能遍历这些符号?

3 个答案:

答案 0 :(得分:0)

试试for /f。示例shell脚本(批处理文件):

@echo off
setlocal enableextensions
for /f "tokens=1,2,3,4" %%i in ('echo + - * /') do (
  echo %%i
  echo %%j
  echo %%k
  echo %%l
)
endlocal

有关详细信息,请参阅for /?

我建议使用PowerShell:

"+-*/".ToCharArray()

答案 1 :(得分:0)

替代上述答案。

for /f "tokens=*" %%i in ('echo + - * /') do @echo %%i

Cheer,G

答案 2 :(得分:0)

这将回显字符串中的字符:

@echo off
setlocal enabledelayedexpansion
set "string=+-*/"
set c=-1
:loop
set /a c+=1
if not "!string:~%c%,1!"=="" echo !string:~%c%,1!&goto :loop
pause