In a separable Hilbert space X, we study the controlled evolution equation u′(t)+Au(t)+p(t)Bu(t)=0,\\documentclass[12pt]{minimal} \\usepackage{amsmath} \\usepackage{wasysym} \\usepackage{amsfonts} \\usepackage{amssymb} \\usepackage{amsbsy} \\usepackage{mathrsfs} \\usepackage{upgreek} \\setlength{\\oddsidemargin}{-69pt} \\begin{document}$$\\begin{aligned} u'(t)+Au(t)+p(t)Bu(t)=0, \\end{aligned}$$\\end{document}where Age -sigma I (sigma ge 0) is a self-adjoint linear operator, B is a bounded linear operator on X, and pin L^2_{loc}(0,+infty ) is a bilinear control. We give sufficient conditions in order for the above nonlinear control system to be locally controllable to the jth eigensolution for any jge 1. We also derive semi-global controllability results in large time and discuss applications to parabolic equations in low space dimension. Our method is constructive and all the constants involved in the main results can be explicitly computed.