赤壁之战之后,曹操和汉献帝的关系基本上就是处于敌我状态,汉献帝和他的粉丝们想趁机废掉曹操,重振刘家雄风,因而攻击曹操有称帝的野心;而曹操则认为,这天下是我辛辛苦苦打来的,凭什么呀?再说了,真没有野心。后来,曹操干脆一不做二不休,先来个“让县自明本志”,以为这样能说服大家,结果大伙却认为曹操是此地无银三百两,恼羞成怒的曹操让汉献帝封曹丕做五官中郎统领禁卫军,完全软禁汉献帝。
这样一来,麻烦就更大了,虽然没有公开化,但是支持皇帝的人由此和曹操不共戴天,亟欲除之而后快;当然支持曹操的人恨不得马上废掉汉献帝,拥戴曹操做皇帝。
攻打孙权无功而回,曹操在当年四月回到邺城休整。五月的时候,汉献帝派天子使御史大夫郗虑持节策命公为魏公,这不是无功受禄吗,管他呢,你敢封,我就敢接受。曹操既不像先前那样推辞,也不扭捏,而是很坦然,并且在当年七月开始建设社稷宗庙。
之后,汉献帝一次性娶了曹操的三个女儿做贵人,在今天叫二奶,那个时候皇帝可以多娶,而且有名分,叫贵人。这样一来,曹操成了皇帝的老丈人了,成为一家人了。
因而,建安十九年正月,曹操第一次耕籍田。所谓“籍田”,就是孟春正月,春耕之前,天子率诸侯亲自耕田的典礼。这就是说,曹操虽然没有废弃汉献帝,但已经开始做皇帝做的事了,相当于替天行道。汉献帝这时候也知道大局已定,自己的确成了傀儡,要想活着就只好老老实实的。于是在当年三月,再次提高曹操的地位,在诸侯王之上。
其实就是汉献帝不封,曹操实际上也是无冕之王,只不过有汉献帝的授权,显得正宗,名正言顺是替天子行事。汉献帝也知道,曹操才是真正的老大,而自己只不过是他手中的橡皮图章,与其消极对抗无用,不如其乐融融的配合。可能汉献帝已经认命,但还是有人不服气,汉献帝的皇后——伏寿就不同意,非要皇帝跟曹操争一把。
据说,在曹操杀死董承之女董贵人的时候,给这位伏皇后留下了阴影,她打算除掉曹操。但她又没有能力,最后写密信给自己的父亲伏完,让伏完密谋除掉曹操。但这位皇帝老丈人没敢做,建安十九年十一月,有人告密,事情泄露,曹操大为吃惊,竟敢算计我,于是逼迫汉献帝废掉伏皇后,杀掉她的两个儿子,且连坐皇后兄弟和宗族。
建安二十年三月,没有皇后的汉献帝立曹操的中女儿为皇后,就这样曹操成了汉献帝真正的老丈人,而汉献帝也成了曹操的贤婿。
曹操的这一连串行动,其实就是巩固他在朝廷的权力,封魏公也好,杀伏完也罢,让自己的女儿做皇后也好,等等这一切,目的就是牢牢控制住汉献帝,让汉献帝彻底成为傀儡。
忙完这些之后,建安二十年三月,曹操开始讨伐张鲁,当时曹操已经61岁了,还是亲自率领大军出征。进军汉中有两条路线,东边的那条从散关(即今天宝鸡大散关)进军,沿褒水直抵南郑,这条道路较近,而且除了散关以外,险地和关口都不多,相对来说容易一些;而西边的那条,从武都(今甘肃武都县)进入,循着西汉水南行,到阳平关向东行,同样可以攻入南郑,只是这条线路较长,而且险地多,容易被拦截。
不过,根据搜集到的情报显示,张鲁把主力部队部署在散关到南郑之间的险要地点,曹操经过深思熟虑,决定避实就虚,从西路进军汉中。殊不知,这些情报有误,费了九牛二虎之力才打到阳平关。尽管这个时候,曹操人困马乏,但张鲁不知道,一听说曹操到了阳平关,张鲁就准备投降,张鲁的弟弟张卫不同意投降,非要打一打再说,张鲁一看大家都要打一打,就说,那就打打看吧。
真是不打不知道,一打吓一跳,不过吃惊的是曹操。在攻打阳平关之前,潜伏张鲁那边的线人报告说,阳平关防御很差,非常好打。到了平阳关,曹操一看防御工事,就发现阳平关不好打,于是感叹说:“从别人那里获得的消息,很少如人意。”就是说,二手消息不准确,害人不浅。