我想创建一个批处理脚本,它允许创建用户选择的文件夹的编号和名称。
但是,我使用下面的脚本收到语法错误。
变量" nome"没有被带走。
这是我的代码:
echo How many folders?
set /p cc=tell me how many
SETLOCAL EnableDelayedExpansion
FOR /L %%G IN (1,1,%cc%) DO (set /p nome=tell me the name
md %nome%)
pause
答案 0 :(得分:0)
xrz先生,请使用搜索栏搜索delayed expansion
。这并不难。
批处理文件变量在解析行的那一刻正在扩展。这意味着在解析整个nome
循环时未设置for
变量。
SETLOCAL
方法添加
setlocal enableDelayedExpansion
在for循环之前的任何地方,因此cmd
将在运行时处理变量。并将%nome%
更改为!nome!
。
CALL MKDIR/MD
方法将您的MD
声明更改为:
call MD %%nome%%
因为这将使用call
和%%
的特殊属性触发模拟的延迟扩展。