2011-05-11 78 views
3

我有一個需要連接到遠程窗口的應用程序。我所做的是使用映射驅動器在Windows啓動菜單上建立連接。部分代碼如下所示:清理斷開的網絡驅動器

@IF NOT EXIST \\remotePC\sharedFolder NET USE * \\remotePC\sharedFolder /USER:user1 pwd /PERSISTENT:YES 

淨使用圖工作正常。映射的驅動器將來自可用的網絡驅動器號。在我的應用程序中,則使用UNC名稱(\ remotePC \ sharedFolder)。

問題(不知道這是一個問題)是經過幾次重新啓動,我可以從文件管理器中看到斷開連接的驅動程序列表:

enter image description here

我不知道所有的字母會如果我多次重新啓動PC,用完了?我想清理所有斷開連接的網絡驅動器。我可以從批處理腳本中完成嗎?我試圖再次使用net use作爲斷開連接的驅動器,它首次刪除OK,但它保留在文件資源管理器中。

NET USE T: /DELETE 

注意:我不確定使用選項/ PERSISTENT:YES。我認爲它應該在登錄或重啓後重新連接網絡驅動器。它不會發生。這就是爲什麼我將我的腳本添加到啓動菜單。我也意識到我的其他文件瀏覽器工具也顯示斷開的網絡驅動器。每次重新啓動時,都會出現一個斷開的網絡驅動器。看起來斷開的網絡驅動器確實存在於Windows中。腳本中是否有任何方法可以找到並清除它們?

更新:我運行測試達10次,現在我到了沒有更多字母可用於網絡驅動器映射的階段。這裏是我的網絡驅動器狀態的快照使用的Total Commander:

enter image description here

如果我右擊這些斷開網絡驅動器,我可以將它們斷開。必須有辦法讓這些斷開連接的設備恢復可用狀態。但是,它不會通過使用網發佈/ delete命令:

NET USE X: /DELETE 

的斷開連接的那些被重啓或註銷造成的。看起來,我無法控制它們,因爲1)我使用動態映射,2)沒有地方插入我的腳本,然後重新啓動或註銷。我能想到的一種方法是通過不使用下面的命令(簡化的)重新連接:

IF NOT EXIST Y:\ NET USE \\remotePC\Shared... 

其中Y:可以從一個循環。上面是一個簡化的。我嘗試從CMD它,它的工作原理。

但是,在我將它與循環放到我的批處理腳本之前,我寧願清理掉所有斷開的腳本。換句話說:在啓動時爲我的批處理添加一些腳本來完成清理。如果有任何腳本代碼或工具可用,以便我可以在我的批處理腳本中使用斷開的腳本代碼或工具恢復可用狀態?

回答

3

我想我找出一個解決方案。在我的映射腳本,反而是持續性的,我不應該使用:

NET USE * \\remotePC\sharedFolder /USER:user1 pwd /PERSISTENT:NO 

此選項告訴Windows不要讓這個網絡驅動器持續重新連接(你可以從文件瀏覽器點擊破一個把它找回來)。因此,當用戶在註銷或重新啓動後再次登錄時,網絡驅動器將不在斷開連接的列表中。我不會遇到用盡網絡驅動器號的問題。

事實上,我的工作夥伴幫助我解決了這個問題,我想和那些對這個問題感興趣的人分享。