Redownloading all installed packages
From ArchWiki
[edit] Redownloading all installed packages
wget $(pacman -Sdp `pacman -Q | awk '{ print $1 }'`)
[edit] Redownloading all installed packages that are not in /var/cache/pacman/pkg/
pacman -Sdw --noconfirm `pacman -Q | awk '{ print $1 }'`
Note: Pacman will show you the size of all installed packages, not just missed from /var/cache/pacman/pkg/.
If you get an error because of too many command line arguments use this code:
for package in `pacman -Q | awk '{ print $1 }'`; do pacman -Sdw --noconfirm $package; done