for /F "tokens=*" %* in (Test.txt) do md ".\%*" & cd "%*" & md "Something1" & md "Something2" & cd ".."
DOS 命令将从文本文件中提取名称并创建一个命名文件夹,然后创建两个子文件夹。
Apple
-Something1
-Something2
但是当我把它放到批处理文件中时如下:
@ECHO OFF
@for /F "tokens=*" %* in (Test.txt) do md ".\%*" & cd "%*" & md "Something1" & md "Something2" & cd ".."
ECHO Done
PAUSE
然后从 Windows GUI 运行它,一个屏幕弹出,关闭,什么都不做。即使我使用有效的 DOS 命令创建了一个批处理,它也没有任何作用。我错过了什么?
谢谢。
最佳答案
在批处理文件中,您需要将 for
变量中的“%”加倍。不要问我为什么。 :)
关于windows - 为什么 "for"在批处理文件中不起作用? (在外面工作正常),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7210779/