2013-02-28 55 views
1

我一定約十億圖像從JP2爲JPG轉換...ImageMagick的批量轉換內存過載

我創造這樣的.bat

for /d %%d in (*) do (
    for %%f in ("%%~d\*.jp2") do (
    convert -limit memory 0 -limit map 0 "%%~ff" -quality 25 "%%~dpf\jpg\%%~nf.jpg" 
) 
) 

但是當它轉化的超過100〜000的窗戶扔是我錯誤與免費內存等...我怎麼能做到這一點,內存使用更多的人性?那圖像轉換器?如果是的話,釋放內存....也許有方法可以將其他東西線程化?

現在我得到的concolse可用內存錯誤的,也窗口之遙埃羅的太...

另外,如果我刪除限制內存0 -limit地圖0我有同樣的問題...

+0

我想知道是否在單獨的空間啓動'convert'會有幫助嗎?嘗試「開始」「轉換」等,看看是否有所作爲。 – rojo 2013-02-28 14:37:34

+0

@rojo你最好舉個例子...... – brabertaser19 2013-02-28 15:21:38

+0

那麼,我想到的是你上面有什麼,但只是把'開始'「'放在'convert -limit memory 0 -limit map 0'前面等等。看起來像「開始」,「convert -limit memory 0 -limit map」等等。這只是一個猜測,我不確定它是否會起作用,所以我不想將它作爲下面的正式答案發布。 – rojo 2013-02-28 15:36:11

回答

1

根據我們的chat session,解決方案是不使用ImageMagick的convert進行轉換。 IrfanView支持command line switches進行批處理,並且在源和目標參數中均使用通配符。您還需要jpeg2000 plugin從jp2轉換。

for /d %%d in (*) do (
    pushd "%%d" 
    if not exist "jpg\" md jpg 
    "c:\Program Files (x86)\IrfanView\i_view32.exe" *.jp2 /convert=jpg\*.jpg /jpgq=25 
    popd 
) 
+0

好的,謝謝的.... – brabertaser19 2013-03-02 16:20:35