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

标签 windows batch-file dos

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/

相关文章:

windows - 使用脚本将 key 发送到 Tableau

.net - 根据 SQL 表时间戳安排 .exe 执行

windows - Windows 上的 Rsync : wrong permissions for created directories

windows-7 - Windows 7 bat 文件未作为服务启动

batch-file - Windows 命令在命令提示符下有效,但在 cmd 文件中无效。知道为什么吗?

c++ - Oracle 是否为 OCCI/OCI 提供公共(public)符号文件 (PDB)?

batch-file - 如何将额外的额外参数传递给批处理文件?

variables - 批处理文件无法在 IF 子句中设置变量

mysql - 将限制 GET 参数直接传递给 MySQL 安全问题?

c - 如何使用 C 应用程序访问 FreeDOS 中的完整内存空间