Cadaver должен удалить корзину с произвольными файлами (delete *).Когда я хочу удалить файл с пробелами в каталоге WebDAV, я получаю ошибку 404 (пробелы имеют кодировку URL / cadaver, но, похоже, не находит закодированные имена файлов).
dav:!> open http://192.168.170.82:5005/
dav:/> cd TEST/recycle
dav:/TEST/recycle/> ls
Listing collection `/TEST/recycle/': succeeded.
*testfile with spaces.txt 28 Aug 28 13:47
dav:/TEST/recycle/> delete *
[Matching... 1 match.]
Deleting `testfile%20with%20spaces.txt': failed:
404 Not Found
dav:/TEST/recycle/> quit
Connection to `192.168.170.82' closed.
Список (с ls) файлов может быть указан правильно.Если я помещу файл для удаления в одинарные кавычки, он работает.
dav:!> open http://192.168.170.82:5005/
dav:/> cd TEST/recycle
dav:/TEST/recycle/> delete 'testfile with spaces.txt'
Deleting `testfile with spaces.txt': succeeded.
dav:/TEST/Papierkorb/> quit
Connection to `192.168.170.82' closed.
Как я могу автоматизировать это?
Как я называю труп в bash:
{ echo "open http://192.168.170.82:5005/"
echo "cd TEST/recycle"
echo "ls"
echo "delete *"
echo "quit"
} | /bin/cadaver