王建安二十二年(公元217年)十月,年过花甲的曹操立五官中郎将曹丕为太子,开始布置后事。曹操的长子曹昂是原配夫人丁氏所生,但因为张绣的叛乱死在了宛城。丁夫人也因此生了曹操的气,说都是曹操的错,整天以泪洗面。曹操火了,把她送回了娘家。然而,毕竟一日夫妻百日恩,曹操后来又亲自去见这位结发之妻,希望她能回心转意。这位丁夫人却铁了心,曹操无论如何劝说都是徒劳。曹操无奈,劝她另择佳偶后离开。回来后立原来的妾,曹丕曹彰曹植曹熊的母亲卞氏为妻(注1)。历史上太子的废立无不伴随着一系列的明争暗斗,曹操的几个儿子也不例外。曹操的三子曹植,字子建,是一位“天下才共一石,曹子建独得八斗”的奇才,很得曹操的宠爱。丁仪杨修等人,一直劝曹操里曹植为太子(注2)。曹操秘密寻访部下征求意见,反映却是清一色的:历代废长立幼大多导致祸乱,不能考虑,何况曹丕又是如此能耐。连崔琰(他的哥哥是曹植的岳父)这样的人都不支持曹植。虽然如此,曹丕心里没底,去请教贾诩如何才能保住自己的位子。贾诩的回答似乎不着边际:“希望将军您能够弘扬德行,以普通人对待自己,朝夕孜孜不倦,并尽到孝道,这就够了。”曹丕明白后,就按照这几句话修身养性。不久后,曹操单独和贾诩又谈起了这件事,贾诩嘿嘿笑着不说话。曹操奇怪:“文和,怎么了?”贾诩这才开了腔:“没什么,只不过想起了袁绍和刘表父子而已。”曹操哈哈大笑:不愧是贾文和,这是在劝我不要重蹈袁刘废长立幼的覆辙吗。于是,他定了立长子曹丕的决心。曹操时不时东征西讨,他的几个儿子们当然都免不了送行接风。曹植出口成章,大家无不佩服他的才思,连曹操本人都相当地高兴。眼看被三弟比了下去,曹丕怅然若失不知所措。这时手下的吴质给他出了个主意:您就当着大家的面痛哭流涕就可以了。果然,曹操开始觉得老三才高八斗,还是老大心诚。文采飞扬的人大都不拘小节,子建也不例外,总是大大咧咧。而曹丕却按照贾诩的建议,摆出了一副谦恭的模样,这下子大家都称赞曹丕:到底是大哥,做事就是有分寸。这样的评论当然会传到曹操的耳朵里。这年十月,曹操终于下定决心,魏文帝的名字也终于变成了曹丕。曹丕心花怒放,别人也趁机去拍卞夫人的马屁,劝这位王后赏赐群臣来庆贺。哪知道,却被卞夫人冷冷地挡了回来:“丕儿不过是因为年纪最大才成为太子,我这个作母亲的不过是尽了教导之力,又有什么可以庆贺的!”
在曹操称魏王立太子处理后事的同时,蜀汉开始考虑攻取西川后的部署。法正对刘备说:曹操一举平定汉中迫降张鲁,但却没能趁势进攻而是留下夏侯渊张合后返回北方,并不是他想不到,是因为他心有余而力不足,北方还有他所担心的事情。夏侯渊张合的才略,并不比我们的人强。如果我们全军出击,是可以攻克的。到那时,广农积谷厉兵秣马,并寻找机会北上,既可以进一步进攻强敌,也可以蚕食雍凉,再差也可以固守要害割据一方,这是天赐良机,不能放弃。刘备对此非常赞同,立刻就带着部将进兵汉中,并派张飞马超吴兰等人兵屯下辨(注3)。这样敏感的部位**了一把刀,曹操立刻作出了反应,派曹洪曹休等人对抗。
建安二十三年(公元218年)二月,曹洪打算首先攻击较弱的吴兰部,先吃掉这块豆腐后再啃张飞这根骨头。张飞虚张声势,声称要来个敌进我进,切断曹洪的退路。然而,三将军的这个计策不太高明,被曹休看透:张飞要是真的想这么干,那么他肯定是悄悄偷袭。而如今却这样大张旗鼓,明明是心有余而力不足后的胡扯。这样,我们可以放心大胆地攻击吴兰。打败吴兰,张飞等势单力孤,也撑不了多久。曹洪吃了这么一颗定心丸,立刻对吴兰动手。吴兰果然是一块豆腐,被曹洪一巴掌拍碎。兵败后他只身逃到阴平,但那里本是曹操的地盘,自投罗网的他被当地人抓住后砍了头送给曹操。曹洪的胜利让张飞感到了压力,立刻撤了兵。曹魏在武都陈仓等地的警报解除。
刘备这个时候正带领着法正黄忠赵云等在阳平关与夏侯渊张合徐晃等曹魏宿将对抗。看到自己大包围的战略未能实现,便退而求其次,又命令陈式带人马去进攻马鸣阁道,仍然试图割裂曹魏汉中与关中的联系。然而,张飞都没能打赢,陈式又怎么会得手?马鸣阁道(从前后的因果关系看,这应当是斜谷的一部分)是确保汉中与关中联系的战略要道,曹魏哪里会坐视。徐晃立刻来争夺并把这个陈式打得晕头转向。险峻的山势让陈式的部下无法逃生,不少人就带着9.8的加速度“下”了山。至此,刘璋的手下几乎都亮了像,但战果惨不忍睹。无论是张任严颜还是吴兰陈式,无论是对抗刘备还是曹操,全都是一触即溃。蜀中与世隔绝几十年的恶果终于体现。看来,闭门造车确实造不出法拉利来。
这样,经过奋战后夏侯渊等人保住了关中的联系,解除了腹背受敌的威胁。然而,他们仍然面对着阳平关下刘备的主力。张合面对刘备的进攻,死死抵抗,刘备一时间寸步难行。曹军抵抗之强烈令刘备意外,夏侯渊张合徐晃这几根硬骨头真不好啃。但是他没有因为一时的挫折产生任何的犹豫,而是果断地采取了最后的方针:强攻。刘备立刻命令留守成都的诸葛亮派兵支援。诸葛亮看到这样的命令却有点犹豫:刘备攻打汉中时已经将能征惯战的兵将都带走了,成都的人马已经不多了,如今全都派走,万一后方有个三长两短,怎么办?从事杨洪却力劝诸葛,汉中是益州的咽喉,没有汉中的益州就象被人掐住脖子,早晚会窒息,对此不能有任何保留。于是诸葛亮下定决心,以“男子当战,女子当运”的方针立刻将成都仅有的人马全都打发上了前线。前线的刘备同样以破釜沉舟的决心,以优势兵力向汉中的魏军发起了疯狂而不间断的攻势。看着这个架势,曹操坐不住了,离开邺城后于当年九月亲自来到了长安,随时准备出手。
然而,这个时候却发生了一件对曹操相当不利的事:南阳的人因为徭役负担沉重,宛城(南阳郡的首府)的守将侯音造了反。而这个时候的曹操,连一兵一卒都派不出去了:北方的曹彰正在激战乌桓,虽然屡战屡胜但也是远水不解近渴;东边的张辽要监视东吴,何况本身的人马就不多;西方的夏侯渊当然不能指望。于是,他只好命令南方樊城的曹仁前去**。而曹仁对面的关羽,兵力本身就超过了曹仁,他会不会趁我之危?或许这件事拖住了曹操的后腿,使得虽然看到汉中战局不利也没有轻易出手。毕竟,宛洛一带才是他的根本,他必须保持机动来应付东西两方面的威胁。
曹操在汉中的主将夏侯渊,作战勇猛,但却并不为曹操100%地赏识。曹操经常告诫他:“当将军,要有勇猛的一面,但也要有怯懦的时候。勇猛而善于动脑子,才是为将之道。只知道往前冲的家伙不过是匹夫之勇,早晚要倒霉。”然而,这一番逆耳忠言却没被夏侯将军当回事:打仗还需要胆小鬼?这不是笑话吗。他没想到,不听老人言,吃大亏在眼前。在阳平关附近,夏侯渊虽然抵抗了刘备将近一年并取得了击溃陈式等胜利,但是面对刘备的优势兵力始终无法摆脱战略上的被动。建安二十四年(公元219年)正月,蜀汉终于得到了一份梦寐以求的新年礼品。面对曹军满地的鹿角,刘备来了个冬天里的一把火,清除这些障碍后便强攻不止,毫不给夏侯渊等人以喘息之机。夏侯渊与张合各自把守一边,看到张合越来越困难,他派出了自己的部下去援助,本来就不雄厚的兵力更显薄弱。然而,这位夏侯将军还没有介意,亲自带着人马去修补被烧毁的鹿角。刘备发现后,立刻命令黄忠进据定军山准备突袭。夏侯渊不但没有采取稳健的对策,还气势汹汹地去和刘备争夺。没想到,这里成了他的墓地:刘备看到夏侯渊来送死,忍住心中的狂喜,当即命令黄忠进击。黄忠“推锋必进,劝率士卒,金鼓振天,欢声动谷,一战斩渊”。这下子原本就是苦苦支撑的曹军军心大乱,张合也无法在前线硬撑,被迫撤回了阳平关,一口气退回了汉水北岸。