2012-10-05 100 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