मैं .REG फ़ाइल में REG_EXPAND_SZ प्रविष्टियों को कैसे निर्दिष्ट कर सकता हूं?


9

मैं .regकुछ कस्टम सेवाओं को सेट करने के लिए एक बैच स्क्रिप्ट और एक फ़ाइल का उपयोग करने की कोशिश कर रहा हूं । अधिकांश चाबियाँ ठीक से सेट की जा रही हैं, लेकिन मुझे DependOnServiceकुछ सेवाओं के लिए कुंजी सेट करने की आवश्यकता है , जो सामान्य रूप से एक बहु-स्ट्रिंग है। क्या यह कुंजी .regफ़ाइल से सेट करना संभव है , या मैन्युअल प्रविष्टि की आवश्यकता होगी?

जवाबों:


13

REG_MULTI_SZ.regफ़ाइलों में डेटा को हेक्साडेसिमल में एन्कोड किया जाना चाहिए। यदि सामग्री कभी नहीं बदलती है, तो आप अपनी रजिस्ट्री में डेटा के साथ एक डमी आइटम बना सकते हैं, इसे निर्यात कर सकते हैं और अपनी आवश्यकताओं के अनुसार समायोजित कर सकते हैं।

यदि यह बदलता है, तो संभवतः regइसे जोड़ने के लिए विंडोज के साथ शामिल प्रोग्राम का उपयोग करना कहीं अधिक आसान होगा। ऐसा करने के लिए, regइस प्रारूप में कॉल करें :

Reg Add <KEY> /v <NAME> /t REG_MULTI_SZ /d <DATA> /s <SEPERATOR>

सेपरेटर स्विच वैकल्पिक है। यदि उपयोग नहीं किया जाता है, तो लिखे जाने वाले तारों को अशक्त चरित्र ( \0) के लिए एस्केप अनुक्रम द्वारा अलग किया जाना चाहिए । उदाहरण के लिए, नाम के एक आइटम जोड़ने के लिए Flairकरने के लिए HKLM\SOFTWARE\WhizBang\Excite-O-Ramaतार के साथ foo, barहै, और bazआप चलाना होगा:

Reg Add HKLM\SOFTWARE\WhizBang\Excite-O-Rama /v Flair /t REG_MULTI_SZ /d foo\0bar\0baz

इसके बजाय डेटा को कॉमा से अलग करने के लिए, आप दौड़ेंगे:

Reg Add HKLM\SOFTWARE\WhizBang\Excite-O-Rama /v Flair /t REG_MULTI_SZ /d foo,bar,baz /s ,

अधिक जानकारी के लिए, Regआदेश के लिए Microsoft डॉक्स से परामर्श करें ।


4
शानदार उत्तर ( .batफ़ाइल के regबजाय कमांड के साथ फ़ाइल का उपयोग करना .reg), लेकिन जब REG_EXPAND_SZ के बारे में सवाल REG_MULTI_SZ के बारे में क्यों बोलता है?
Norswap

1
  • dword: = DWORD
  • hex(2): = विस्तार योग्य-स्ट्रिंग
  • hex(7): = मल्टी-स्ट्रिंग

A DWORDएक 32-बिट अहस्ताक्षरित पूर्णांक (दशमलव श्रेणी: 0- 4294967295) है, और, रजिस्ट्री में, DWORDहमेशा एक साथ शुरू होता है 0xऔर इसमें 8 अंक होते हैं जो अनुसरण करते हैं 0x। यह दशमलव या हेक्साडेसिमल प्रारूप में हो सकता है; उदाहरण के लिए, के 1000रूप में 0x00001000या लिखा जा सकता है 0x000003e8

DWORDSकेवल अंकों का उपयोग कर सकते हैं 0- 9। स्ट्रिंग्स, किसी भी प्रकार का, हमेशा ASCII का उपयोग करें, और ACSII में, 1000केवल इस प्रकार लिखा जा सकता है 31,30,30,30। स्ट्रिंग डेटा प्रकार के लिए, ASCII आपके जानने के बिना भी पृष्ठभूमि में काम करता है क्योंकि कंप्यूटर केवल 1s और 0s को समझता है।

एक्सपेंडेबल-स्ट्रिंग और मल्टी-स्ट्रिंग डेटा प्रकारों के लिए, ये आपकी प्रविष्टियों को एक हेक्साडेसिमल प्रारूप में एएससीआईआई कोड की एक श्रृंखला के रूप में सहेजते हैं, कॉमा और हेक्स जीरो द्वारा अलग किए जाते हैं; तो एक का विस्तार योग्य-स्ट्रिंग 1000होगाhex(2):31,00,30,00,30,00,30,00

आइए %PROGRAMFILES%एक विस्तार योग्य-स्ट्रिंग में परिवर्तित करें :

  1. हेक्स रूपांतरण उपकरण , %PROGRAMFILES%पाठ बॉक्स में इनपुट , उपयोगकर्ता परिभाषित आउटपुट सीमांकक: ASCII का उपयोग करें : %कन्वर्ट का चयन करें, और यह आपको दे देगा:
    %25%50%52%4F%47%52%41%4D%46%49%4C%45%53%25
  2. एक पाठ संपादक में परिणाम / कॉपी पेस्ट करें: सबसे पहले %अंत में ले जाएँ , सभी %को ढूंढें / बदलें ,00,और स्ट्रिंग के बहुत अंत में अल्पविराम को हटा दें। आपको मिलना चाहिये:
    25,00,50,00,52,00,4F,00,47,00,52,00,41,00,4D,00,46,00,49,00,4C,00,45,00,53,00,25,00
  3. आखिरकार:
    hex(2):25,00,50,00,52,00,4F,00,47,00,52,00,41,00,4D,00,46,00,49,00,4C,00,45,00,53,00,25,00

इस पाठ में किसी भी हेक्स-कोडेड रजिस्ट्री प्रविष्टि को एन्क्रिप्ट करने के लिए इंजीनियर को रिवर्स करने के लिए आवश्यक सभी ज्ञान शामिल हैं।


1
हॉटफ़ाइल लिंक एक html पृष्ठ (जिसमें कनवर्टर होता है) के साथ सिर्फ 7z संग्रह है जो अंदर संग्रहीत है। सिर्फ वेब पेज से ही लिंक क्यों नहीं?
जॉन बेन्सिन

1
लिंक रोट से बचने के लिए कृपया अपने उत्तर में सभी प्रासंगिक जानकारी पोस्ट करें। प्रश्नों के उत्तर देने के बारे में अधिक जानकारी के लिए कृपया देखें कैसे उत्तर दें
50-3
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.