Alexander Zverev moved one step closer to his first Grand Slam title after beating Jakub Menšík in four sets at the French Open.