2014-02-05 178 views
6

喜來刪除文件我想下面的命令在UNC路徑命令在UNC路徑

set folder="\\SERVERNAME\Publish" 
cd /d %folder% 
for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q) 

刪除文件,但我有錯誤說:

UNC paths are not supported. Defaulting to Windows Directory 

不知怎的,我需要刪除駐留文件在服務器的共享路徑中使用批量命令。任何幫助讚賞。

回答

9

編輯 2015年9月16日 - 原始回答保持在底部

代碼重新格式化,以避免除去未期望的文件夾,如果映射失敗。只有pushd成功執行刪除操作。

set "folder=\\SERVERNAME\Publish" 
pushd "%folder%" && (
    for /d %%i in (*) do rmdir "%%i" /s /q 
    popd 
) 

原來的答案:

set "folder=\\SERVERNAME\Publish" 
pushd "%folder%" 
for /d %%i in (*) do rmdir "%%i" /s /q 
popd 

pushd將在UNC路徑創建一個驅動器映射,然後改變它。然後,所有操作都在驅動器:\文件夾中。在末尾popd將刪除驅動器分配。

+0

感謝上述命令正常工作。 – Gowtham

+0

我不得不更換單一的「雙」 – aggaton

+0

@aggaton,我不知道我怎麼沒刪除引號(從原來的代碼複製/粘貼,我認爲),謝謝你。無論如何,甚至沒有必要的報價。 –