2014-02-05 171 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,我不知道我怎么没删除引号(从原来的代码复制/粘贴,我认为),谢谢你。无论如何,甚至没有必要的报价。 –