用於更改電腦上所有網路共享的批次文件

用於更改電腦上所有網路共享的批次文件

我需要在批次檔中將 //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

您最好的選擇可能是使用批次文件FOR 命令。

如果您能夠獲得要更改的目錄列表,您可以為該命令提供一個輸入檔案(如shares.txt),它將迭代每一行。您可以分配一些相當複雜的邏輯,如連結中所述。

另一個選擇是 VBScript,但我認為這會涉及更多的時間投入,特別是對於像這樣不需要大量分析或邏輯的東西。

答案4

Net Use 將更改驅動器映射,但不會更改底層共享,因為命令在客戶端而不是伺服器上運行。

沒有共享重命名,可以在同一資料夾中新增共享,並且在確認工作正常後可以稍後刪除舊共享。問題是新共用需要新的共用權限,如果路徑發生更改,則可能還需要設定新的 NTFS 權限。

Rmt分享,http://ss64.com/nt/rmtshare.html,可能會根據作業系統而工作。
VBScript 也可以很好地工作,因為它可以執行共用權限:MS 腳本儲存庫 - 共用資料夾。下面的鏈接,無法使超鏈接發揮作用。

http://gallery.technet.microsoft.com/scriptcenter/en-us/site/search?f[0].Type=RootCategory&f[0].Value=storage&f[0].Text=Storage&f1.Type=子類別&f1.Value=共用資料夾&f1.Text=共享%20資料夾

相關內容