WebDAV: удалить файлы с пробелами, используя труп - PullRequest
0 голосов
/ 08 декабря 2018

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
...