ऊपर डैनियल बेक के जवाब से उठाते हुए, यह जानकारी वास्तव में फ़ाइल के संसाधन कांटे में संग्रहीत है। डेवलपर टूल के साथ Apple दो उपयोगिताओं को प्रदान करता है, जिन्हें "रेज" और "डीरेज़" कहा जाता है, जो आपको संसाधन कांटे में हेरफेर करने की अनुमति देते हैं। विशेष रूप से, आप रेज के साथ एक फ़ाइल में एक संसाधन कांटा धक्का दे सकते हैं।
कमांड लाइन से एकल फ़ाइल के संघ को बदलने के लिए, पहले सही प्रकार की एक फ़ाइल बनाएं, और मैन्युअल रूप से उसके संघ को उस एप्लिकेशन में बदलें जिसे आप इसे खोलना चाहते हैं। यह फ़ाइल में संसाधन कांटा बनाता है - यदि आप डॉन नहीं करते हैं। यह मत करो, बाहर कॉपी करने के लिए कोई जानकारी नहीं होगी। फिर, DeRez के साथ संसाधन कांटा को इस तरह खींचें (एक फ़ाइल foo.txt मानकर, और जिस एप्लिकेशन का आप उपयोग करना चाहते हैं वह Firefox.app है)।
DeRez foo.txt > foo.r
यह foo.r नामक एक फाइल बनाएगा, जो कि टेक्स्ट फाइल के रूप में विघटित संसाधन कांटा है। यह कुछ इस तरह दिखेगा:
data 'usro' (0) {
$"0000 001A 2F41 7070 6C69 6361 7469 6F6E" /* ..../Application */
$"732F 4669 7265 666F 782E 6170 7000 0000" /* s/Firefox.app... */
$"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */
आप इसे संपादित कर सकते हैं यदि आप स्क्रैच से एक बनाना चाहते हैं, लेकिन आपको प्रारूप बिल्कुल सही प्राप्त करना होगा या यह काम नहीं करेगा। यह केवल हेक्स-एन्कोडेड वर्ण हैं जो आपको इच्छित ऐप बंडल के पथ का वर्णन करते हैं, जिसे एक शून्य के साथ समाप्त किया गया है।
आपको एक संदेश दिखाई दे रहा है जिसमें कहा जा सकता है कि संसाधन कांटा खाली है और असंवैधानिक है। यदि ऐसा है, तो आपने स्रोत फ़ाइल पर प्रति-फ़ाइल संघ को नहीं बदला है, इसलिए आपको ऐसा करने की आवश्यकता है, फिर Dezez कमांड को फिर से चलाएँ।
एक बार जब आप यह कर लेते हैं, तो आप इसे इस प्रकार एक अन्य फ़ाइल में धकेल सकते हैं (मान लें कि bar.txt मौजूद है):
Rez foo.r -a -o bar.txt
यह f.t.r से संसाधन कांटे के साथ bar.txt को अपडेट करता है।
यह जाँचने के लिए ठीक काम किया, क्योंकि न तो रेज और न ही DeRez प्रिंट त्रुटि संदेश, बस यह करें:
DeRez bar.txt
आपको पहले जैसी जानकारी देखनी चाहिए। उस सब के बाद, बस फ़ाइल को बार-बार खोलें। जैसा कि आप सामान्य रूप से करेंगे, और इसे सही एप्लिकेशन में खोलना चाहिए, डिफ़ॉल्ट नहीं।
बैच परिवर्तन करने के लिए, एक बार जब आपके पास .r फ़ाइल हो, तो आप इस तरह एक मानक वाइल्डकार्ड विस्तार का उपयोग कर सकते हैं:
Rez foo.r -a -o *.txt
यह वाइल्डकार्ड से मेल खाने वाली सभी फाइलों को करेगा।
मैंने इसे 10.7 पर किया है, लेकिन यह मेरी समझ है कि यह पहले की मशीनों पर भी काम करता है।