Dado que WebDAV es una extensión de HTTP, cURL se puede utilizar para realizar operaciones con archivos de comandos.
Para crear una carpeta con la fecha actual como nombre:
$ curl -u usuario:password -X MKCOL "https://ejemplo.com/TecnoCloud/remote.php/dav/files/USUARIO/$(date '+%d-%b-%Y')"
Para cargar un archivo error.log en ese directorio:
$ curl -u usuario:password -T error.log "https://ejemplo.com/TecnoCloud/remote.php/dav/files/USUARIO/$(date '+%d-%b-%Y')/error.log"
Para mover un archivo:
$ curl -u usuario:password -X MOVE --header 'Destination: https://ejemplo.com/TecnoCloud/remote.php/dav/files/USUARIO/objetivo.jpg' https://ejemplo.com/TecnoCloud/remote.php/dav/files/USUARIO/fuente.jpg
Para obtener las propiedades de los archivos en la carpeta raíz:
$ curl -X PROPFIND -H "Depth: 1" -u user:pass https://example.com/TecnoCloud/remote.php/dav/files/USERNAME/ | xml_pp
<?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:oc="http://TecnoCloud.org/ns" xmlns:s="http://sabredav.org/ns">
<d:response>
<d:href>/TecnoCloud/remote.php/dav/files/USERNAME/</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Tue, 13 Oct 2015 17:07:45 GMT</d:getlastmodified>
<d:resourcetype>
<d:collection/>
</d:resourcetype>
<d:quota-used-bytes>163</d:quota-used-bytes>
<d:quota-available-bytes>11802275840</d:quota-available-bytes>
<d:getetag>"561d3a6139d05"</d:getetag>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/TecnoCloud/remote.php/dav/files/USERNAME/welcome.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Tue, 13 Oct 2015 17:07:35 GMT</d:getlastmodified>
<d:getcontentlength>163</d:getcontentlength>
<d:resourcetype/>
<d:getetag>"47465fae667b2d0fee154f5e17d1f0f1"</d:getetag>
<d:getcontenttype>text/plain</d:getcontenttype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
</d:multistatus>