From c678c9d5d430842ef06f231a4c39b5165f30578a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Wed, 3 Oct 2012 16:12:35 +0200 Subject: add smbrm --- smbrm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 smbrm diff --git a/smbrm b/smbrm new file mode 100755 index 0000000..bd3a414 --- /dev/null +++ b/smbrm @@ -0,0 +1,23 @@ +#! /bin/bash + +function smb_rmfr() { + AUTH_FILE=$1 + SHARE=$2 + shift + shift + local SHARE_DIR=$@ + local OUTFILE=$(mktemp) + # remove all files + smbclient $SHARE -D "$SHARE_DIR" --authentication-file="$AUTH_FILE" -c "rm *;" >/dev/null 2>&1 + # list sub directories + smbclient $SHARE -D "$SHARE_DIR" --authentication-file="$AUTH_FILE" -c "ls;" >$OUTFILE 2>/dev/null + # keep only directory name + IFS=$'\n' + for dir in $(cat $OUTFILE | sed 's/^ //' | sed '/^\./d' | sed '/^\s/d' | sed '$ d' | sed 's/\s\+D\s\+0\s\+.*$//'); do + smb_rmfr "$AUTH_FILE" "$SHARE" "${1}/$dir" + done + # local DIR=$(echo "$SHARE_DIR" | sed -e 's/\//\\/g') + smbclient $SHARE --authentication-file="$AUTH_FILE" -c "rmdir \"$(echo "$SHARE_DIR" | sed -e 's/\//\\/g')\";" >/dev/null 2>&1 + rm $OUTFILE +} + -- cgit v1.1-2-g2b99