建安二十年(215年)三月,曹操见刘备已取得益州,而汉中是益州门户,“若无汉中,则无蜀矣”,刘备必然要攻取汉中。于是曹操抢先一步,率十万大军亲征汉中张鲁。七月,曹操大军进至阳平关(今陕西沔县西北)。张鲁听说阳平关失守,逃往巴中。曹操进军南郑,尽得张鲁府库珍宝。十一月,张鲁出降曹操,汉中遂为曹操所有。曹操在获得东川后,引用了东汉光武帝刘秀写给岑彭信中“人苦不知足,既平陇,复望蜀”一语,来表示自己无意乘胜取西川。
关于这个问题,其记载见于《三国志·刘晔传》:晔进曰:“明公以步卒五千,将诛董卓,北破袁绍,南征刘表,九州百郡,十并其八,威震天下,势慴海外。今举汉中,蜀人望风,破胆失守,推此而前,蜀可传檄而定。刘备,人杰也,有度而迟,得蜀日浅,蜀人未恃也。今破汉中,蜀人震恐,其势自倾。以公之神明,因其倾而压之,无不克也。若小缓之,诸葛亮明于治国而为相,关羽、张飞勇冠三军而为将,蜀民既定,据险守要,则不可犯矣。今不取,必为后忧。”而《晋书宣帝纪》记载:(司马懿)从讨张鲁,言于魏武曰:“刘备以诈力虏刘璋,蜀人未附而远争江陵,此机不可失也。今若曜威汉中,益州震动,进兵临之,势必瓦解。因此之势,易为功力。圣人不能违时,亦不失时矣。”魏武曰:“人苦无足,既得陇右,复欲得蜀!”言竟不从。那么,刘晔、司马懿的建议是否可行?曹操是否真的错过了一举收复蜀地的机会呢?这个问题历来有两种相反的意见。一种意见认为曹操确实错过了大好时机,属于战略性决策失误,而另一种意见则认为曹操的决策是完全正确的,以当时的兵力和战役准备,在短时间内根本不可能攻蜀成功。
我们认为如果从“知足者常乐,能忍者自安”的角度来看,“得陇望蜀”的行为无疑是不好的,因为它反映出一个人的贪得无厌、得寸进尺,而很多人就是因为欲壑难填,最后走上自我毁灭的道路。所谓“贪得者虽富亦贫,知足者虽贫亦富”,讲的正是这个道理。但若从“人应不断进取,不可半途而废”的角度来看,则“得陇望蜀”却是正确的。这里的“陇”,指的是已经取得的成果,而“蜀”,指的是应该进一步争取的目标。惟有不自满于现状,想要更上一层楼,人类才能发展,社会才能进步。就曹操当时所拥有的条件与整体局势而言,“得陇望蜀”应该是一种竞争的策略,是乘胜追击、不留后患的策略。但他竟放弃了这么一个大好的机会,并告诫部属要“知足”,实在是很可惜。
反对“得陇望蜀”的学者认为,曹操的决策是完全正确的。首先必须看到,在长期的行军作战之后,曹军已经相当疲惫,让急需修整的他们,深入益州腹地与蜀军作战,显然很不现实,也很难令人对交战前景持乐观态度。其次,汉中刚刚攻克,根基不稳,在这种情况下遽然南进,既不能保证军粮供应不发生任何困难,也不能保证作为后方基地的汉中,在曹军遭遇困难的时候,不发生变乱。第三,分别在东线和中线虎视眈眈的孙权、关羽,都是不可不防的劲敌,假如曹军过深地卷入益州事务而无法脱身,就很难保证中原万无一失。事实上,就在曹军攻占汉中后的次月,孙权就对合肥发动了大规模的攻势,尽管曹操早就预料到孙权很可能会趁他远征汉中之机攻打合肥,并且事先也做了必要的布置,然而,要不是张辽等守将应对有方、奋勇拼杀,合肥究竟能否守住真的很难说。第四,司马懿、刘晔有关刘备益州政权脆弱不堪的论断,并未建立在实地考察的基础上,具有很大的主观性、随意性和盲目性。退一万步说,即便曹军能够在短期内攻占刘备的地盘,也很难守得住,因为这时刘备已经率领主力部队回到了巴郡境内的江州(今重庆市)。因此,曹操否定部下得陇望蜀的建议是合理的。
给《三国志》作注的裴松之对曹操的得陇不复望蜀,表示异议。他断言:既取汉中而不顺势攻蜀,是曹操一生之中的又一重大决策错误。现在也有的学者认为,曹操“得陇不再望蜀”留下了祸患之根,最后给自己造成难以弥补的损失。对于刘备其人,曹操是很清楚的。当年青梅煮酒论英雄时,除了曹操自己以外,刘备被看做是惟一的英雄。曹操夺取东川时,刘备也刚刚夺取西川。刘备夺取西川之后所带来的后果,曹操不会不知道。刘晔也说得很清楚:“若少迟缓,诸葛亮明于治国而为相,关羽、张飞勇冠三军而为将,蜀民既定,据险守要,则不可犯矣。”然而,曹操给了刘备喘息的机会,让刘备很快就羽翼丰满,力量强大,到头来,非但“不可犯”,而且还要前来进犯,这是曹操始料未及的。更甚者,刘备在夺取汉中后,竟然自称“汉中王”,直接与自己相抗衡。所以有人说,三国鼎立局面的形成,与曹操这次失误有直接的关系。