用于更改计算机上所有网络共享的批处理文件

用于更改计算机上所有网络共享的批处理文件

我需要在批处理文件中将所有 //foo 的共享更改为 //bar。假设我有 R://foo/foo 和 Z://foo/bar

我需要一个批处理脚本,使它们成为 R://bar/foo 和 Z://bar/bar

有人知道怎么做吗?我正在考虑用网络循环,但这就是我所能做到的。我自己也会研究,但我想在这里发帖,看看是否有人知道,因为我有点紧张。

谢谢你的帮助。

这是适用于 Windows XP Zachary

答案1

我将在批处理文件中使用以下命令:

@echo off
REM Delete existing Mapped Drives
net use * /d Y

REM Map New Network Drive
net use R: \\bar\foo /persistent:yes
net use Z: \\bar\bar

echo Drives Mapped.

然后可以将其添加到用户登录脚本路径中,前提是该文件位于服务器中网络登录文件夹。

编辑

我刚刚重读了你的问题。显然,如果你想更换很多股份,我的方法并不实用。你能否建议是否需要更换很多股份?

希望这会有所帮助,如有任何问题请告诉我。

答案2

@echo off
REM delete the actual Network Drive
net use R: /DELETE
net use Z: /DELETE

REM Create the new Network Drive 
net use R: \\bar\foo
net use Z: \\bar\bar

如果您希望网络驱动器在重启后仍然存在,则需要在映射网络驱动程序时将 /persistent:yes 添加到 net use 命令中,因此对于 R:

net use R: \\bar\foo /persistent:yes

答案3

最好的选择可能是使用批处理文件用于命令。

如果您能够获得要更改的目录列表,则可以向该命令输入一个输入文件(如 shares.txt),它将遍历每一行。您可以分配一些相当复杂的逻辑,如链接中所述。

另一个选择是 VBScript,但我认为这需要投入更多的时间,特别是对于这种不需要大量分析或逻辑的事情。

答案4

Net Use 将改变驱动器映射但不会改变底层共享,因为命令在客户端而不是服务器上运行。

没有共享重命名,可以在同一文件夹上添加新共享,一旦确认一切正常,就可以稍后删除旧共享。问题是新共享需要新的共享权限,如果路径发生变化,则可能还需要设置新的 NTFS 权限。

RmtShare,http://ss64.com/nt/rmtshare.html,可能根据操作系统而工作。VBScript
也可以很好地工作,因为它可以执行共享权限:MS Scripting Repository - 共享文件夹。下面的链接,无法使超链接工作。

http://gallery.technet.microsoft.com/scriptcenter/en-us/site/search?f[0].Type=RootCategory&f[0].Value=storage&f[0].Text=Storage&f1.类型=子类别&f1.值=共享文件夹&f1.Text=共享%20文件夹

相关内容