为什么"for"在批处理文件中不起作用?(外面工作正常)

Sam*_*Sam 2 windows dos batch-file

for /F "tokens=*" %* in (Test.txt) do md ".\%*" & cd "%*" & md "Something1" & md "Something2" & cd ".."
Run Code Online (Sandbox Code Playgroud)

DOS命令将从文本文件中提取名称并创建一个命名文件夹,然后创建两个子文件夹.

Apple
-Something1
-Something2

但是当我把它放入批处理文件中时如下:

@ECHO OFF
@for /F "tokens=*" %* in (Test.txt) do md ".\%*" & cd "%*" & md "Something1" & md "Something2" & cd ".."
ECHO Done
PAUSE
Run Code Online (Sandbox Code Playgroud)

然后从Windows GUI运行它,屏幕弹出,关闭,什么都不做.即使我用工作DOS命令创建一个批处理它也什么都不做.我错过了什么?

谢谢.

Gol*_*rol 6

在批处理文件中,您需要将for变量中的'%'加倍.不要问我为什么.:)