从Windows批处理文件中的文本文件中存在的文件夹名称列表创建目录

时间:2015-11-28 08:37:25

标签: batch-file

我想创建与文本文件中存在的目录同名的目录。我想通过读取文本文件中的每个名称来创建单独的目录。

基本上,文本文件是所有目录名称的转储。

dir /b /o:n /ad %MYSRC%\* > ToolNames.txt

for %%x in ('ToolNames.txt') do (
 set ToolName=%%x
 mkdir %ToolName%
)

但上面的代码并没有让我得到理想的结果。请帮忙

1 个答案:

答案 0 :(得分:0)

for %%x in (ToolNames.txt) do (
 ECHO mkdir %%x
)

请参阅关于delayedexpansion的SO上的无休止的文章,这将解释原始代码失败的原因。

在块语句(a parenthesised series of statements)中,解析整个块并执行然后。块中的任何%var%将在解析块时被该变量的值替换 - 在块执行之前 - 同样的事情适用于{{1 }}

因此,FOR ... DO (block)将在遇到IF (something) else (somethingelse)时使用%variables%的值执行。