Excluindo o diretório não vazio com o smbclient

4

Como posso remover um diretório não vazio com o smbclient? Eu tentei o seguinte:

1) rm

Resultado:

NT_STATUS_NO_SUCH_FILE listing [dir_path]

2) recurse;rm

Resultado:

No Error but also nothing happens! The folder remains as before!

3) rmdir

Resultado:

NT_STATUS_DIRECTORY_NOT_EMPTY removing remote directory file [dir_path]

4) recurse;rmdir

Resultado:

NT_STATUS_DIRECTORY_NOT_EMPTY removing remote directory file [dir_path]

5) rm [dir_name]/*;rmdir [dir_name]

Resultado:

NT_STATUS_OBJECT_NAME_NOT_FOUND deleting remote file [sub_dir_path]

NT_STATUS_DIRECTORY_NOT_EMPTY removing remote directory file [dir_path]

6) recurse;rm [dir_name]/*;rmdir [dir_name]

Resultado:

NT_STATUS_OBJECT_NAME_NOT_FOUND deleting remote file [sub_dir_path]

NT_STATUS_DIRECTORY_NOT_EMPTY removing remote directory file [dir_path]
    
por mor 23.02.2013 / 11:14

2 respostas

0

Do comentário do OP:

OK, I found a workaround: Mounting the remote windows share folder to a local directory and then doing "rm -r" Thanks to Mikhail who gave the hint here – rahimi 2 days ago

Com isso, a pergunta é efetivamente respondida (e, como efeito colateral, removida da fila de Perguntas não respondidas).

    
por 23.05.2017 / 14:40
0

Você pode escrever algumas linhas:

myHost=fubar
myShare=batch
myRootPath="next_version\SNAPSHOT"
myDirectory="snafu-fubar"
myCredentials="sbb.ch\ricky%password"                                                                                                                               

smbclient \\${myHost}\${myShare} -D "${myRootPath}" -U ${myCredentials} -c "recurse on; ls ${myDirectory}" | grep '^\' \
   | awk -F\ '{print NF,$0}' | sort -nr | cut -d ' ' -f2- \
   | while read -r myDir; do
      myRoot="${myDir%\*}"
      myFolder="${myDir##*\}"
      smbclient \\${myHost}\${myShare} -D "${myDir}" -U ${myCredentials} -c "del *" || true
      smbclient \\${myHost}\${myShare} -D "${myRoot}" -U ${myCredentials} -c "rmdir \"${myFolder}\"" || true
done
    
por 24.08.2017 / 15:36