Команда для удаления файлов в UNC path

Привет, я попытался ниже команды удалить файлы в UNC path

set folder="SERVERNAMEPublish" 
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

Как-то мне нужно удалить файлы, которые находятся в общем пути сервера с помощью пакетной команды. Любая помощь приветствуется.

2 ответов


редактировать 2015-09-16 - оригинальный ответ остается в самом низу

код переформатирован, чтобы избежать удаления нежелательных папок, если сопоставление не удается. Только если pushd suceeds удаление выполняется.

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, а затем изменится на него. Затем все операции выполняются над диском:\folders. В конце popd удалить ассигнационный диска.


это удаляет все файлы с именем " ms " и более года.

@echo off
set "year=-365"
PushD "\SERVERNAME\FolderName" && (
  "forfiles.exe" /s /m "*_ms_*" /d %year% /c "cmd /c del @file"
) & PopD