2012-10-05 197 views
0

我需要编译我的的.jar文件多次在一天,所以我有一个想法,我可以做一个BAT文件更快这里编译器,它是:“输入行太长”,在BAT文件的

call "jar cmf 'META-INF/MANIFEST.MF' 'Bounce Tales.jar' a a.class aa.png ab.png ac.png ad.png ae.png af.png ag.png ah.png ai.png aj.png ak.png al.png am.png an.png ao.png ap.png aq.png ar.png as.png at.png au.png av.png aw.mid ax.mid ay.mid az.mid b b.class ba.mid bb.mid bc.mid bd.mid be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv c.class c.png d.class d.png e.class e.png f.class f.png g.class g.png h.class h.png i.class i.png icon.png j.class j.png k.class k.png l.class l.png lang.bs-BA lang.cs-CZ lang.de lang.hr-HR lang.hu-HU lang.mk-MK lang.sk-SK lang.sl-SI lang.sq lang.sr-YU lang.xx m.class m.png n.class n.png o.class o.png p.class p.png q.class q.png r.class r.png RMIDlet.class s.png t.png u.png v.png w.png x.png y.png z.png" 

这导致一个错误:

The input line is too long.

我没有任何想法如何使它更短,而当我copypaste命令控制台,它编译就好了... ...

+0

可能重复的[如何增加窗口输入行长度(最大值)?(http://stackoverflow.com/questions/3930579/how-to-increase-the-input-line-lengthmax -in-windows) –

+0

你为什么把命令放在引号后?通常你只是'调用somebatfile'或'调用一些命令参数' –

回答

1

好的,我找到了。我用这个:

jar cmf "META-INF/MANIFEST.MF" "Bounce Tales.jar" a a.class aa.png ab.png ac.png ad.png ae.png af.png ag.png ah.png ai.png aj.png ak.png al.png am.png an.png ao.png ap.png aq.png ar.png as.png at.png au.png av.png aw.mid ax.mid ay.mid az.mid b b.class ba.mid bb.mid bc.mid bd.mid be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv c.class c.png d.class d.png e.class e.png f.class f.png g.class g.png h.class h.png i.class i.png icon.png j.class j.png k.class k.png l.class l.png lang.bs-BA lang.cs-CZ lang.de lang.hr-HR lang.hu-HU lang.mk-MK lang.sk-SK lang.sl-SI lang.sq lang.sr-YU lang.xx m.class m.png n.class n.png o.class o.png p.class p.png q.class q.png r.class r.png RMIDlet.class s.png t.png u.png v.png w.png x.png y.png z.png 

我把它放在BAT文件中。

+0

你能解释一下你改变了什么以及它为什么起作用吗? – Paul

0

这个问题的一个副本:how to increase the input line length(max) in windows?

使用长输入字符串运行的批处理文件,你有^字符分隔它。

call "jar cmf 'META-INF/MANIFEST.MF' 'Bounce Tales.jar' a a.class aa.png ab.png ac.pngad.png ae.png af.png ag.png^
ah.png ai.png aj.png ak.png al.png am.png an.png ao.png ap.png aq.png ar.png as.png at.png au.png av.png aw.mid ax.mid^
ay.mid az.mid b b.class ba.mid bb.mid bc.mid bd.mid be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv c.class^
c.png d.class d.png e.class e.png f.class f.png g.class g.png h.class h.png i.class i.png icon.png j.class j.png^
k.class k.png l.class l.png lang.bs-BA lang.cs-CZ lang.de lang.hr-HR lang.hu-HU lang.mk-MK lang.sk-SK lang.sl-SI^
lang.sq lang.sr-YU lang.xx m.class m.png n.class n.png o.class o.png p.class p.png q.class q.png r.class r.png^
RMIDlet.class s.png t.png u.png v.png w.png x.png y.png z.png" 
+3

这个答案有两个严重的问题。 1)续行不延长允许的最大长度,它只是在你的文本编辑器中看起来更好。 2)在这种情况下,你的行延续失败,因为'^'字符被引用。 – dbenham

1

您可以将您的生产线分解为多个变量,并使用它们来调用您的过程。这是我们用来获取路径的方式,比MSDOS限制命令行的字符数长。

set a=a a.class aa.png ab.png ac.png ad.png ae.png af.png ag.png ah.png ai.png aj.png ak.png al.png am.png an.png ao.png ap.png aq.png ar.png as.png at.png au.png av.png aw.mid ax.mid ay.mid az.mid 

set b=b b.class ba.mid bb.mid bc.mid bd.mid be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv c.class c.png d.class d.png e.class e.png f.class f.png g.class g.png h.class h.png i.class i.png icon.png j.class j.png 

set c=k.class k.png l.class l.png lang.bs-BA lang.cs-CZ lang.de lang.hr-HR lang.hu-HU lang.mk-MK lang.sk-SK lang.sl-SI lang.sq lang.sr-YU lang.xx m.class m.png n.class n.png o.class o.png p.class p.png q.class q.png 

set d= r.class r.png RMIDlet.class s.png t.png u.png v.png w.png x.png y.png z.png 

call "jar cmf 'META-INF/MANIFEST.MF' 'Bounce Tales.jar' %a% %b% %c% %d%" 
+0

但是这不起作用,因为扩展后开始计数,这样8191个字符的限制仍然不变 – jeb