-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
upload / download folders #182
Comments
|
Hi, this command is to download a directory, what about upload Thank you |
@lumosideas did you manage to do it? |
Hi, no, I have not receive answers to my question so I decide to use this script: https://github.com/andreafabrizi/Dropbox-Uploader However, I'm looking forward for an answer here. |
This command won't work for two-level deep folders. |
In case anyone wants to adapt this to Powershell on windows: ./dbxcli ls -l "/path/to/folder/to/download" | ForEach-Object { $_ -split 'ago' | Select-Object -Index 1 } | ForEach-Object { $_.Trim() } | ForEach-Object { ./dbxcli get $_ . }
|
Dropbox does not let you compress and download large files through the web browser, and the desktop client cannot be used practically to sync up with an external hard drive. I recently had to write a bash script using #!/bin/bash
# Function to create a directory if it doesn't exist
ensure_directory() {
local path="$1"
if [ ! -d "$path" ]; then
mkdir -p "$path"
fi
}
# Function to download files and replicate directory structure
download_files() {
local path="$1"
local destination="$2"
local top_name="${path##*/}"
local local_dest_path="$destination/$top_name"
local depth="$3"
local tabs=""
for ((i=0; i<depth; i++)); do
tabs+=" "
done
# Check if the item is not a file (does not contain a dot in the filename)
if [[ "$path" != *.* ]]; then
ensure_directory "$local_dest_path"
echo -e "${tabs}Folder: $top_name"
# Get the total number of items in the directory without leading whitespaces
local total_items=$(dbxcli ls -l "$path" 2>/dev/null | awk 'NR>1 {print $NF}' | wc -l | awk '{$1=$1};1')
local current_item=1
tabs+=" "
# Iterate over items in the directory
dbxcli ls -l "$path" | awk 'NR>1 {print $NF}' | while read -r item; do
local local_name="${item##*/}"
echo -e "${tabs}Item $current_item of $total_items"
local new_depth=$((depth+1))
download_files "$item" "$local_dest_path" "$new_depth"
((current_item++))
done
else
# If it's a file (contains a dot), use dbxcli get (output silenced)
echo -e "${tabs}Downloading: $top_name"
dbxcli get "$path" "$local_dest_path" > /dev/null 2>&1
fi
}
# Download files and replicate directory structure
download_files "$1" "$2" "$3"
echo "Download completed." |
Hi dropbox team,
Does dbxcli support folder uploading or downloading now? What command should I use for folder operation? Thank you!
The text was updated successfully, but these errors were encountered: