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