Imagemagick बैच स्मृति अधिभार परिवर्तित करना


3

मैं jp2 से jpg के बारे में अरब छवियों को परिवर्तित करना होगा ...

मैं ऐसी .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 से अधिक खिड़कियों में परिवर्तित होता है तो मुझे त्रुटि मुक्त मेमोरी आदि के साथ फेंक देता है ... मैं कैसे कर सकता हूं कि स्मृति का उपयोग अधिक मानवता के लिए किया जाता है? तो वह छवि-चित्र? यदि हाँ, तो उस स्मृति को छोड़ दें .... शायद इस ओटी को किसी और चीज़ से पिरोने के तरीके हैं?

अब मुझे कंफर्ट फ्री मेमोरी एरर मिला है और विंडो का थ्रो इर्रो भी है ...

इसके अलावा अगर मैं लिमिट मेमोरी 0 -लिमिट मैप 0 को डिलीट करता हूं तो मुझे भी यही समस्या है ...


क्या हो रहा है @ brabertaser19 .... जिज्ञासु अगर आपके पास अभी तक मेरे द्वारा दिए गए उत्तर को देखने का मौका है और मुझे इस मामले के बारे में कुछ प्रतिक्रिया दें तो मैं आपकी इस समस्या का 100% काम करने वाला समाधान प्राप्त करने में मदद कर सकता हूं क्योंकि मैं इसके लिए क्या कर रहा हूं एक जीवित। यदि आपने पहले से ही जो पहले से मदद की है, अगर आपने अभी तक इसे देखने का मौका नहीं दिया है, तो आप मुझे मुफ्त में मदद कर सकते हैं। अन्यथा इस बात पर विचार करें कि उपलब्ध कराए गए उत्तर के ऊपरी दाईं ओर उस ग्रे चेक मार्क की जाँच करें और उस चीज़ को हरा कर दें।
दलाल रस आईटी

जवाबों:


0

नीचे मेरे लिए अच्छी तरह से काम करता है इसलिए यदि आप अपने विशेष मामले में इन आदेशों के लिए स्मृति के साथ समस्या को हल करने में सहायक होते हैं, तो मैं आपको एक उत्तर प्रदान कर रहा हूं।

मुझे पता है कि आपका उदाहरण एक फॉर / डी लूप का उपयोग कर रहा है और एक अन्य फॉर लूप में पुनरावृति करने के लिए उपयोग कर रहा है, लेकिन डीआईआर कमांड और लागू स्विच के साथ सिंगल फॉर / एफ लूप का उपयोग करने से प्रत्येक पुनरावृत्त रूपांतरण सुनिश्चित करने में मदद मिलती है, आदि एक नए में है। स्मृति का उदाहरण।


अधिलेखित परिवर्तित फ़ाइलें जगह में

@ECHO ON

SET Source=C:\SourceFolder\Images
SET Ext=*.jp2

FOR /F "DELIMS=" %%A IN ('DIR /A-D /S /B "%Source%\%Ext%"') DO convert -limit memory 0 -limit map 0 "%%~A" -quality 25 "%%~A"
GOTO EOF

आउटपुट कनवर्ट की गई फ़ाइलें आउटपुट डायरेक्टरी में

@ECHO ON

SET Source=C:\SourceFolder\Images
SET Output=C:\Output\jpg
SET Ext=*.jp2

FOR /F "DELIMS=" %%A IN ('DIR /A-D /S /B "%Source%\%Ext%"') DO convert -limit memory 0 -limit map 0 "%%~A" -quality 25 "%Output%\%%~NXA"
GOTO EOF

आगे के संसाधन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.