Windows 批处理文件:遍历网络共享

Windows Batch File: Looping through Network Shares

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

\…\foo\bar\folder

这里foobarfolder三个名字是固定的,只是计算机名不同

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

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

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

但这对我不起作用。

谢谢

您可以尝试使用教室网络的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
  )
)
    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