《孙子兵法》也指出战争会耗费大量的财富,“凡用兵之法,驰车千驷,革车千乘,带甲十万,千里馈粮。则内外之费,宾客之用,胶漆之材,车甲之奉,日费千金,然后十万之师举矣" 出动20開乘战车、10万人的军队,每天所需的费用就要高达“千金"。因此《孙子兵法》提出发动战争要极其慎重,尽可能速战速决,“善用兵者,役不再籍,粮不三载",只征发一次兵役,消耗的粮食不超过三年积蓄,是发动战争最理想的情况。
由于粮食是消耗性的大宗物资,通过陆路运输的耗费极大,“国之贫于师者远输",兴兵打仗造成国家穷困的直接原因不是战争本身,而是运输费用,因此《孙子兵法》提出“取用于国,因粮于敌,故军食可足也"。一般的军事器材可以依靠国内提供,而军粮最好是从占领地区掠取。“智将务食于敌”,在占领区获得一钟(古代粮食量器)粮食相当于本国的20钟,获得一石喂马的禾草相当于本国的20石。这一原则实际上很早就在战争中得到了体现。
春秋初期,郑国与东周朝廷发生冲突,公元前722 年郑庄公派出军队到东周军事示威,就 “取温(今河南温县)之麦",又取“成周(今洛阳东)之禾"。以后各国混战中有很多割取敌国农田庄稼为本军军粮的记载。更简单的做法是掠夺战区当地居民的粮食来实现“以战养战"。这是后来很多军阀以及铤而走险的“盗贼"使用的补给方式,也是很多游牧民族开始侵人中原地区后的主要补给方式。
契丹骑兵集中打仗,分散“打草食";蒙古军队长途奔袭时,军食或者依靠移动的畜群,或者就靠在战地抢掠。这种补给方式最大问题是难以持久,不仅要激起强烈的反抗,而且即使能够镇压反抗,也会造成人民普遍逃亡,土地荒芜,再没有什么可抢的时候,军队就陷人困境。比如东汉末年的大混战中,各大军阀都是靠劫掠养兵,袁绍的军队在抢光了粮食后曾经靠摘桑葚为食,袁术的军队只好下河摸鱼虾、捞蛤蜊,而曹操甚至将死人肉夹杂在军粮里发放。因此,靠这种方式补给的军队往往都需要流动作战,除了战略考虑外,也要考虑去新的地区解决后供应问题
有头脑的统治者都反对这种依靠劫掠的“以战养战"。一般采用的办法是在新占领的地区建立起赋税制度,有节制的、分期分批地向当地居民索取粮食。这需要有较为稳固的军事占领才可以做到,而且也需要有文官的协助。这一点做得最成功的是战国时期的秦国,每占领一个地方立即就开始编制户籍,征发徭役和粮食,使秦国的战争机器可以不间断地运转。刘邦进占咸阳灭亡秦朝时,萧何进人宫殿第一件事就是保护全国户籍资料,后来又将这批资料带到汉中。楚汉大战时,萧何坐镇汉中、关中地区,源源不断地向前线输送粮食和壮丁,使刘邦军队能够屡败屡战。反观项羽每到一地都是纵兵烧杀抢掠,不仅失去民心,也得不到可靠的后勤支援,打了败仗后连个喘口气的根据地也没有。蒙古刚开始进攻金朝时,完全依靠劫掠养兵,占领黄河流域后,打算将当地百姓赶走,大片土地改为牧场。耶律楚材建议实行赋税制度,所得可比放牧多得多,果然打动蒙古大汗,放手让耶律楚材建立赋税制度,使黄河流域社会经济得以从长期战争破坏中慢慢恢复,也使蒙古军在大军西征的情况下仅靠木华黎一支偏师就得以维持对南宋的压力。
还有一种办法是《孙子兵法》完全未曾想到的,就是让士兵也种地,军队自己养活自己。最早大规模推行这种办法的是汉武帝。为了维持在漫长的长城边防线的驻军,汉武帝推行“屯田" 将边防线的可耕地划为国有,发放给士兵耕种,并将罪犯之类的社会闲散人员发往边疆,充当耕种屯田的劳力。以后曹操为了解决军粮问题,也大规模地在内地推行屯田。当时中原地区饱经战乱,土地荒芜,192年曹操推行“屯田制" 将全部荒地划为国有地,强迫一部分士兵以及招募的农民固定在政府分配的荒地上进行屯田,收成“六四开”,60%归朝廷,40%归“屯田客"。军屯的士兵仍为士籍,每五里设营,约60人为营,“且耕且守"。这是曹操最终得以战胜众多其他军阀统一北方的重要因素。以后蜀汉、东吴也都仿照这一制度,以屯田养兵。诸葛亮在“六出祁山"战役中痛感军粮运输困难,最后决心在前线屯田,不过这一地区土地瘠薄,屯田没有取得很大成效。以后北周、隋、唐的府兵制,很大程度上也是为了解决军队的供给问题,府兵各单位相当分散,得以“寓兵于农",解决军队的供养问题。以后的明太祖朱元璋自称:“吾养兵百万,要不费百姓一粒米。"也规定在边防地区的驻军70%的军户屯种,30%守城;在内地的驻军80%屯种,20%守城。将大批国有荒地划拨军户为屯田,每户军户分配15、50亩,并分配一定的耕牛、种子、农具,要军户耕种,除供给自己的军粮外每年还要上缴12石。
国家平时要为战时积蓄粮食,为出动军队提供后勤保障,这在战国时代已经形成严密制度。在湖北云梦睡虎地秦墓出土的秦律中,有专门的“仓律" 集中了很多关于国家粮食仓库保管、储运制度方面的条文。以后各代都有类似的制度。西汉“文景之治"时期,长期保持和平局面,休养生息,太仓里的粮食因保存时间太长而“红腐不可食。
隋朝统一全国后,社会经济得到恢复,各地粮仓丰盈,著名的如京城的太仓、洛阳的含嘉仓、洛口仓、华州永丰仓、陕州太原仓等,据说储藏的粮食有数百万石到上千万石不等,可以供军队使用几十年。后来在隋末战争中凡是占领这些粮仓的武装力量都维持了较长的时间。
元末战乱,朱元璋听从朱升的建议,“高筑墙,广积粮,缓称王",在江南地区建立起牢固的战略根据地,终于得以歼灭群雄。
正如《孙子兵法》早就指出的,战时运输是一件劳民伤财的事。当战区是非农业地区或者难以实行“以战养战" 时,就必须要依靠后方长途运输粮食。汉武帝时连年出动大军进攻匈奴、西南夷,军粮全凭内地长途运输,“千里负担馈饷,率十余钟致一石",结果造成严重财政危机,据说“海内耗半"。隋文帝为征高丽,下令全国向辽西运粮,有的地方百姓将三石米装上车,结果一路上的口粮就用掉了车上的粮食,到了目的地连一斗都没剩下。宋朝长期在北方边界维持数十万大军,当地农民由于长期战争大多逃亡,没人种地来养活士兵,而宋朝的禁军又都是吃现成饭的,造成极其严重的后勤负担,所有的军用物资都必须从后方运输,而朝廷如果征发如此规模的劳役就有可能引发百姓的反抗。宋朝政府的对策也是前无古人的,这就是要求商人承担军事运输任务,将物资运到前线后,由军事部门接收后估价,发给“交引",商人凭“交引"可以到指定地点提取朝廷专卖的商品:食盐、香料、茶叶等等。这称之为“人中法"。后来的明朝也曾经实行过同样的政策,改称“开中法",商人运输粮食到“九边",可以获得优先提取两淮官盐的特权。可是后来明朝盐政大坏,商人持有“盐引"却难以提到官盐,不得不重新向食盐生产商再付现金买盐,从此也就不再愿意承担运输任务。“九边" 的供应日益艰难,严重影响到战斗力的维持。后来李自成起义军横扫边镇,几乎没有遇到什么有力的抵抗。