Windows批处理文件:通过网络共享循环

时间:2016-02-25 05:40:13

标签: windows loops batch-file network-share

我有一个教室网络,所有机器都有一个遵循相同模式的共享文件夹。每个共享都可以访问:

\\…\foo\bar\folder

此处,名称foobarfolder是固定的,只有计算机名称不同。

最终我计划将文件复制到上面的所有文件夹中。

问题是:如何遍历上面的所有共享名称?在命令shell中,我尝试了:

for %i in (\\*\foo\bar\folder) do echo %i

但这不适合我。

由于

2 个答案:

答案 0 :(得分:1)

    for /f "skip=3" %A in ('net view ^| findstr /v /C:"The command completed successfully"') do Echo %A

列出所有打开的计算机。您将%A放入复制命令而不是计算机名,例如

for /f "skip=3" %A in ('net view ^| findstr /v /C:"The command completed successfully"') do dir %A\C$

在批处理文件中,使用%%A代替%A

答案 1 :(得分:0)

您可以尝试使用教室网络的IP地址来执行您的功能。

例如: 您的IP范围是192.168.1.2到192.168.1.100

for /L %%a in (2,1,100) do (
  if exist \\192.168.1.%%a\foo\bar\folder (
    your command
  )
)