Barcelona remain on course to finish the season with five trophies after booking a Copa del Rey semi-final spot.