批处理:变量内部变量不起作用

时间:2016-10-13 11:07:38

标签: batch-file cmd batch-processing

我有多个包含文件路径的变量

set path[1]=\\192.168.0.20\Test1
set path[2]=\\192.168.0.20\Test2
set path[3]=\\192.168.0.20\Test

现在我想要一个循环运行,一次执行一个路径的一些操作。所以理论上我想要一个循环中的变量,让我们称它为“currentPath”,它在每次迭代时都会发生变化。

以下是我的观点:

setlocal enabledelayedexpansion
for /l %%n in (1,1,%iP%) do (
echo !path[%%n]!
set currentPath=!path[%%n]!
echo variable:%currentPath%
net use %currentPath% /user:%hbmUser% %hbmPW%
) 

然而输出并不是我想要的(第一次迭代):

\\192.168.0.20\Test1
variable:

和“net use”当然不起作用,因为变量是空的...... 由于第一个echo正在工作,我不知道为什么我不能让currrentPath变量更改为新值...我做错了什么?

0 个答案:

没有答案