批处理文件 - 使用for循环连接网络驱动器

时间:2016-08-05 06:35:29

标签: batch-file for-loop nested-loops network-drive

我想创建一个批处理文件,以便轻松连接到某些网络驱动器。我正在考虑使用某种嵌套for循环,但我有点卡住了。所以我有两个变量:

set drives=F,G,H
set paths=LOCATION01\name1,LOCATION02\name1,LOCATION01\name2

现在我希望能够像这样回应它们:(好吧,不是回应它,我会将正确的路径连接到正确的驱动器,但这并不重要)

F -> LOCATION01\name1
G -> LOCATION02\name1
H -> LOCATION01\name2

我不确定如何解决这个问题。起初我尝试了类似下面的内容,但肯定没有用。它只是遍历每个驱动器的每个路径,我只想每个驱动器一个路径。

FOR %%A IN (%drives%) DO FOR %%B IN (%paths%) DO ECHO %%A %%B

那么......有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个:

@echo off  
setlocal enabledelayedexpansion
set drives=F,G,H
set paths=LOCATION01\name1,LOCATION02\name1,LOCATION01\name2
set drivecounter=0
for %%d in (%drives%) do (
  set /a "drivecounter+=1"
  set pathcounter=0
  for %%p in (%paths%) do (
    set /a "pathcounter+=1"
    if /i !drivecounter! == !pathcounter! (
      echo %%d assigned to %%p
    )
  )
)

代码扩展了您循环遍历所有驱动器和所有路径的想法,但使用变量来跟踪每个路径的索引,以便它可以为正在处理的当前驱动器分配正确的路径。