Reputation: 45
I'm trying to delete the contents of a fileshare via script in order to clean it on schedule or on demand.
az storage file delete -s $myshare -p $folderOrFileName --account-name $accountName --account-key $accountKey
Allow me to delete files but I cannot delete a folder. Searching the web I've found several disjoined solutions like using azcopy tool or PS commands but none of them worked for me so far.
Help will be appreciated.
Upvotes: 4
Views: 6578
Reputation: 11411
You have to use az storage directory delete
instead of az storage file delete
to delete a folder present inside the Fileshare as file delete only deletes files and not the folders (directories).
I tested the Scenario in my environment :
But When I directly use the below command , I get another error as the directory is not empty , its not able to delete the entire directory.
az storage directory delete --share-name test --name ansumandirectory --account-name ansumanadls1234 --account-key <accountkey>
So , In order to delete the Directory ,I have to delete the files present inside it as well first . So I used the below script :
$sharename = "test"
$foldername = "ansumandirectory"
$accountname = "ansumanadls1234"
$accountkey = "accountkey"
$source= "$sharename/$foldername"
az storage file delete-batch --source $source --account-name $accountname --account-key $accountkey
az storage directory delete --share-name $sharename --name $foldername --account-name $accountname --account-key $accountkey
Output:
Note: If Your directory is Empty then you can directly use the az storage directory delete
command , it will delete the folder. But if its not empty then use the az storage file delete-batch
to delete all the files with the directory delete command (as done in the above script).
Upvotes: 5