Вы можете попробовать проверить уровень ошибки после команды "dir X: \". Уровень ошибки - это целочисленное значение, возвращаемое последней выполненной командой в сеансе командной строки. 0 означает успех
if errorlevel 1 command
означает, что команда выполняется, если уровень ошибки больше или равен 1
:drivex net use x: \\computer\share if errorlevel 1 goto drivey dir x:\ if errorlevel 1 goto drivexremove goto drivey :drivexremove net use x: /delete :drivey net use ....