建安二十年(公元215年)三月,曹操率军从长安出发,西征汉中。大军经陈仓出大散关(东周时属散国,因名)进入了凉州南部的武都郡。大散关乃关中四塞之一(东面潼关,南面武关,西面大散关,北面萧关),位于今陕西宝鸡市南面的大散岭上,这里号称“川陕咽喉”,当山川之会,扼南北之要,并居住着大量骁勇善战的氐族人,他们仗着陇南秦岭山川险要,不服王化,屡屡叛乱,对曹军继续南下造成了极大的威胁,所以曹操不得不再花四个月的时间,逐一扫定氐族各部,并夺取粮谷10 余万斛。
正所谓“楼船夜雪瓜洲渡,铁马秋风大散关。”这是一段无比艰辛的征程,数月来曹军攀山越岭数千里,关山路险,升降盘旋,牛马困累不起,车辆坠落山涧。军士也甚为辛劳。曹操于是杀猪宰羊犒赏三军,并亲自敬酒感谢大家:“诸君随我南征北讨,少者数年,多者二十余年,孤莫不忘其劳。”曹操这番真情告白,让大家都很感动,其中有位叫王粲的文士,更是曹操的忠实粉丝,便写诗赞美此事:
“从军有苦乐,但问所从谁。所从神且武,安得久劳师?
陈赏越山岳,酒肉踰川坻,军中多饶饫,人马皆溢肥……”
王粲,字仲宣,建安七子之一,这首诗在拍马屁文学中还算一篇佳作。
七月,曹军终于扫定陇南,进至阳平关前,与夏侯渊军会和。
阳平关,又名白马城,位于今陕西省勉县武侯镇莲水村。它北依秦岭,南临汉水和巴山,处于陈仓故道(关中通往汉中之道)和金牛道(汉中通往西川)的交会处,阳平关处于其结合部,可见其地理位置之重要,《隋书地理志》称其:
“西控川蜀,北通秦陇,汉、黑、烬诸水襟带包络于其间,极天下之至险。蜀若得之上可以倾覆寇敌,尊将王室;中可以蚕食雍、凉,开扩土地;下可以固守要害,为持久之计。”
听说曹操亲率大军来到阳平关,张鲁就准备投降算了,好歹咱也是个宗教领袖,于世俗政权之中地位超然,明主若曹操者,必然亏待不了自己。
可有人坚决反对,那便是张鲁的弟弟张卫,他说投降之前好歹得跟人家打一仗,不然岂非被人轻看?张鲁想想也有道理,于是派张卫与大将杨昂、杨任率大军据守阳平关,横山筑石城十余里,曹操在关前下寨后,便去观察地形,一看心里就凉了,口中直叹:“此处地势险恶,连峰接崖,贼依山高屯,壁削难登,孤虽有精兵虎将,势不能施也。”身后三位新晋谋士辛毗、刘晔、司马懿似乎也一时没有好计策,曹操只得又长叹,心想打郭嘉、荀彧、荀攸先后去世,贾诩程昱又老迈处于半退隐状态,现如今自己身边连个商量妙计的人都没有,真郁闷!当初搞个求贤令好像也求来啥特了不起的贤才,更郁闷!
但既然都来了,那还是打打看吧!于是派诸军攀崖仰攻阳平山上诸屯,但这简直就是在送死,山上只要扔些滚木礌石下来,那些好不容易爬到半空的曹兵就会像断线的风筝一样从峭壁上掉落下来,死的眼花缭乱、兵乓作响。结果,曹军攻打了十余日仍然无效,不仅士兵伤亡惨重,军粮也快用尽了,曹操只得一声长叹:“作军三十年,还未曾如此受制于人,奈何?”于是决定撤兵,张卫等人见曹军退走,非常高兴,于是放松了守备。
可就在这个时候,神奇的事情发生了。
据《魏名臣奏》记载,曹操下令夏侯惇、许褚所部退兵,但曹将高祚所率领的突击队还在山上,夏侯惇便派人去山上将他们召还,但高祚部队在下山时迷了路,结果误入敌人兵营,时值深夜,敌人不知究竟,还以为曹军攻营得手,乃四散败走,混乱之中,鲁将杨任被斩。
当时曹操的谋士辛毗、刘晔正随军行动,发现我军竟然撞了狗屎运,大喜,赶紧派人告诉夏侯惇、许褚,说高祚等部已占领了敌人的要塞。夏侯惇还不相信,刘晔说是真的……骗你不是人,夏侯惇乃亲自前来察看,确认果然是真的,赶紧报告曹操。
曹操闻讯,简直笑歪了嘴,赶紧命大军连夜从小路分路上山,多出强弩攒射,发动全线反攻!张卫得报说己方要塞已被攻破,心内已慌,关键时刻,突然又不知从哪里窜出数千野麋,冲入张卫主营,鹿角如刀,挑起张卫的士兵扔的漫天飞舞,此起彼伏,宛如烟花绽放,曹将高祚趁势吹响鼓角召集各路曹军齐攻其营,张卫军听到,更加惊惧,顿时一哄如鸟兽散,张卫也失去了抵抗的意志,弃军而逃回了南郑。
曹操得报,抚掌大笑。这算什么剧情,自己打了一辈子仗,从没打过这么稀里糊涂的仗,稀里糊涂打,最后还稀里糊涂赢了,真乃天祚大魏也!
阳平关失守后,张鲁知汉中已不可守,没多久就投降了。如此,流亡在汉中的原西凉叛将程银、侯选、庞德也就跟着投降了曹操。其中庞德原为马超部将,勇猛无匹,但马超投刘备时竟没带上他,庞德便干脆投归曹操,曹操大喜,拜其为立义将军,封关门亭侯,食邑三百户。
马超走的确实匆忙,不仅没带走庞德,就连妻子后妻董氏和儿子马秋都没带走,曹操便将董氏发给张鲁手下阎圃为妻,把马秋则交给张鲁处理。张大教主二话没说,把马秋给砍了,以向曹操示忠。
与此同时,巴中夷王也相继归附,被封为列侯;曹操又轻松获得巴东、巴西二郡。在征汉中期间,曹操很好的贯彻了一个原则,就是“军事进攻开创条件,政治招抚打开局面。”所以才能进展如此神速。
而张鲁降曹的消息传入西川,成都大震,一日十惊,人心不稳。刘备集团大开杀戒,杀了很多民间意见领袖,却依旧无法安定蜀人人心。身在荆州的刘备无奈,只得做出让步,将湘水以西的长沙、桂阳二郡割让给孙权,使双方再次结成战略合作伙伴关系,然而赶紧返回蜀中主持大局。孙权要求基本得到满足,一开心就决定帮刘备一把,跑去徐州捞点油水。
另外一边,曹操得到汉中后,就考虑休整一阵后,便从容攻取蜀地,将老对手刘备彻底消灭掉。但就在这时,东面传来消息,八月,孙权率大军十万围攻合肥,合肥守将张辽、李典、乐进告急。
曹操一声长叹,吴蜀果然是好对手,为了利益变得真快,看来今后之战略,当重点在离解其联盟,否则曹魏长期陷于东西两线作战的困境之中,疲于防守,则不知要到何时才能统一天下。但东吴之鲁肃和西蜀之诸葛亮,又都是非常高明的战略家,可不像韩遂马超那样好哄弄的,想离间他们,难哪,难,难!
在这种情况下,虽然刘晔和司马懿都建议曹操一鼓作气、扩大战果、拿下益州刘备;曹操却学光武帝发一声浩叹:“人苦无足,既得陇,复望蜀邪!”决定先撤退了:一则汉中初定,后勤难继。二则以初平张鲁之众,历险阻,越蜀道,不恤其劳而用之,安能料其必胜乎?更重要的是,这次出征耗时太久,也该回去巩固一下后方了。曹操不能老呆在军旅之中,他毕竟是天下最高统治者,需要花更多的时间去整顿朝廷,抑制兼并,催农桑,重文教,修水利,明法度……归根结底,政治才是他的主修课,值此北方大乱之后,国家经济的恢复发展应优先于统一天下。三则曹操也确实老了,身心俱疲,不堪久战,进取心也大大不如从前;人生在世,还是要留有余地,不可逞强好胜用力过度,努力而不竭力,一张一弛,文武之道也。刘晔和司马懿毕竟年轻,他们再成长些就会明白曹操的。
于是,曹操任命夏侯渊为都护将军,升张郃为荡寇将军、徐晃为平寇将军,命二将辅助夏侯渊留守汉中,而自率大军凯旋。此后,曹操又将汉中分为南郑、西城(今陕西安康)、上庸(今湖北竹山)三郡,并陆续将八万余汉中百姓内迁至洛阳、邺城一带,以充实中原腹地之人口,恢复其元气。这八万百姓大多为五斗米教徒。此次大迁徙,也是道教走向全国性宗教的重要标志性事件。