我可以在批处理循环中使用变量值作为字符串分隔符吗?

时间:2015-03-19 19:06:32

标签: batch-file for-loop cmd

在Windows批处理脚本中是否有办法将变量值用作字符串分隔符? 我希望用两行不同的数字“剪切”两个字符串。即。

NNNN

我想创建一个仅

的字符串

NNNN

我将%% M设置为数字NNNN,但是提取正确位的for循环不起作用,它是字母“M”上的实际切割,而不是%% M的值。如何批量执行此操作?

                FOR /F "tokens=1,2 delims**=%%M"** %%X IN ("%%F") DO (
                    SET /A LINE="%%M %%Y"

1 个答案:

答案 0 :(得分:1)

无法 在FOR选项中使用FOR变量(%%M)或延迟扩展(!var1!)。您 可以 使用正常扩展(%var%),但如果在定义变量的同一块中使用%var%,则无效。由于您要使用%%M,因此定义变量并使用%var%不会有任何好处。

解决方案是调用过程并将%%M值传递给CALL参数。您似乎还需要传递%%F