Add quotes to handle spaces in filename.
for file in *.zipdo unzip -d "${file%.zip}" "$file"done
for zipfile in *.zip; do exdir="${zipfile%.zip}" mkdir "$exdir" unzip -d "$exdir" "$zipfile"done
for x in $(ls *.zip); do dir=${x%%.zip} mkdir $dir unzip -d $dir $xdone