我需要在批处理文件中将所有 //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文件夹