कमांड लाइन रजिस्ट्री संपादित करें


0

मुझे लगता है regकि मैं cmd ​​द्वारा जोड़ने की कोशिश कर रहा हूँ एक कमांड के साथ एक समस्या है । किसी भी विचार मैं इस वाक्यविन्यास त्रुटि को कैसे ठीक कर सकता हूं, क्योंकि कमांड डॉस गलत लगता है ...

reg add HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command /v command /t REG_MULTI_SZ /d xb'BV5!!!!!!!!!MKKSkEXCELFiles>VijqBof(Y8'w!FId1gLQ /dde /p "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" /e "%1"

मुझे commandस्ट्रिंग संपादित करने और डेटा जोड़ने की आवश्यकता है:

xb'BV5!!!!!!!!!MKKSkEXCELFiles>VijqBof(Y8'w!FId1gLQ /dde /p "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" /e "%1"

जब आप इसे चलाने का प्रयास करते हैं तो आपको प्राप्त होने वाला वास्तविक त्रुटि संदेश क्या होता है?
Ƭᴇc atιᴇ007

क्या आपको लगता है कि वाक्यविन्यास गलत है? आप केवल रजिस्ट्री को संशोधित क्यों नहीं करते, परिवर्तन को निर्यात करते हैं, और सिंटैक्स समस्याओं में हो सकने वाली कमांड करने के बजाय निर्यात परिवर्तन को चलाते हैं?
रामहुंड

जवाबों:


2

किसी भी विचार मैं इस वाक्यविन्यास त्रुटि कैसे ठीक कर सकते हैं?

आपके (बाइनरी?) स्ट्रिंग में एक >चरित्र होता है (जिसका उपयोग कमांड से फ़ाइल में आउटपुट को रीडायरेक्ट करने के लिए किया जाता है )।

आपके पास:

REG_MULTI_SZ /d xb'BV5!!!!!!!!!MKKSkEXCELFiles>VijqBof(Y8'w!FId1gLQ 

प्रयोग करके देखें ":

REG_MULTI_SZ /d "xb'BV5!!!!!!!!!MKKSkEXCELFiles>VijqBof(Y8'w!FId1gLQ"

या के >साथ भागने ^>:

REG_MULTI_SZ /d xb'BV5!!!!!!!!!MKKSkEXCELFiles^>VijqBof(Y8'w!FId1gLQ 

इसके अलावा आपकी reg add ...कमांड सही नहीं लगती है।

आपके पास नल-टेम्पर्ड स्ट्रिंग्स की एक सरणी नहीं है जो दो अशक्त वर्णों द्वारा समाप्त की गई हैं।

यहाँ सही सिंटैक्स है।

REG ADD [ROOT] RegKey / v ValueName [/ t DataType] [/ S सेपरेटर] [/ d डेटा] [/ f]

कहाँ पे:

/ S सेपरेटर: REG_MULTI_SZ में विभाजक के रूप में उपयोग करने के लिए मान डिफ़ॉल्ट "" 0 है।

REG_MULTI_SZ शून्य-समाप्त स्ट्रिंग्स की सरणी जो दो अशक्त वर्णों द्वारा समाप्त की जाती है।

स्रोत REG.exe :

अधिक जानकारी के लिए https://stackoverflow.com/questions/8853911/reg-add-a-reg-multi-sz-multi-line-registry-value देखें


सिंटैक्स: एस्केप कैरेक्टर, डेलीमीटर और कोट्स

पलायनवादी चरित्र

^ पलायन चरित्र।

एक कमांड सिंबल से पहले एस्केप कैरेक्टर को जोड़ने से इसे साधारण टेक्स्ट के रूप में माना जा सकता है।

इन वर्णकों में से किसी को भी पाइपिंग या रीडायरेक्ट करते समय आपको बच चरित्र के साथ उपसर्ग करना चाहिए: & \ <> |

 e.g.  ^\  ^&  ^|  ^>  ^<  ^^

सोर्स सिंटेक्स: एस्केप कैरेक्टर्स, डेलीमीटर एंड कोट्स


आगे की पढाई


यदि मैं उदाहरण के लिए किसी भी तरह से डेटा को बदल देता हूं, अगर मैं "एप्लिकेशन अभ्यस्त रन को जोड़ता हूं और यदि मैं ^ जोड़ता हूं तो मुझे एक सुविधा आईडी प्राप्त होती है, जिसमें त्रुटि न हो, इसलिए किसी भी तरह डेटा को बल्ले से जोड़ते समय इसे बरकरार रखें
भाग्य Averrunusus

अद्यतन उत्तर देखें।
DavidPostill

1

डेविडपोस्टिल सही है कि आपको संपूर्ण डेटा स्ट्रिंग को दोहरे उद्धरण चिह्नों में संलग्न करना है, और फिर स्ट्रिंग के अंदर से बचना और यह सुनिश्चित करना है कि यह स्ट्रिंग का हिस्सा है।

इस स्थिति में संपूर्ण डेटा स्ट्रिंग जिसे आप जोड़ना चाहते हैं:

xb'BV5!!!!!!!!!MKKSkEXCELFiles>VijqBof(Y8'w!FId1gLQ /dde /p "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" /e "%1"

इसलिए आप उस पूरे स्ट्रिंग को डबल-कोट्स में लपेटना चाहते हैं ताकि कमांड-लाइन इसे सिंगल स्ट्रिंग (और मल्टीपल आर्ग्यूमेंट्स) के रूप में पहचान सके।

चाल का पता लगा रहा है कि उन परिसीमन उद्धरणों के अंदर कौन से उद्धरण (और अन्य वर्ण) बच निकलने की आवश्यकता है, और फिर इस संदर्भ के लिए उनसे बचने का तरीका जानें।

यह पता लगाने के लिए थोड़ा परीक्षण और त्रुटि हुई, लेकिन इस मामले के लिए आपको केवल आंतरिक दोहरे उद्धरणों के बारे में चिंता करने की आवश्यकता है, और आप उन्हें बैकस्लैश ( \) के साथ पूर्ववर्ती होने से बचाते हैं :

reg add "HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command" /v command /t REG_MULTI_SZ /d "xb'BV5!!!!!!!!!MKKSkEXCELFiles>VijqBof(Y8'w!FId1gLQ /dde /p \"C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE\" /e \"%1\""

यह सब कहने के बाद, और उन समस्याओं के आधार पर जो इसे ठीक से समाप्त करने के साथ जारी रहती हैं, मुझे लगता है कि रामहाउंड ने अपनी टिप्पणी में सबसे अच्छा / आसान समाधान का उल्लेख किया होगा।

जैसा आप चाहते हैं, उसके साथ सेट की गई मशीन पर जाएं, फिर उस कुंजी को .regफ़ाइल में निर्यात करें ।

फिर reg importउस .reg फ़ाइल को आयात करने के लिए अपने बैच फ़ाइल में उपयोग करें।

यदि आपको दो फ़ाइलों का उपयोग / वितरण करना पसंद नहीं है, और / या आपके पास कोई केंद्रीय स्थान नहीं है जिसे आप इसे नेटवर्क पर रख सकते हैं, तो आप हमेशा बैच फ़ाइल को .reg फ़ाइल को मक्खी पर गूँज कर बना सकते हैं। एक अस्थायी पाठ फ़ाइल के लिए लाइनें, इसे आयात करें और फिर एक बार किए गए अस्थायी फ़ाइल को हटा दें।


मदद के लिए धन्यवाद दोस्तों, लेकिन मैंने कोशिश की है कि ऐसा लगता है कि यह इसे एक बैट फाइल में जोड़ने के लिए काम करता है, लेकिन अंत में उत्पाद की खुराक काम नहीं करती है, तो यह एक त्रुटि हो जाती है इसलिए अधिक फ़ाइलों को जोड़ने का कोई तरीका है आ बैट या कुछ और अगर मैं उस विशेष reg कुंजी को निर्यात करता हूं और इसे टॉगल या कुछ और चलाने के लिए बल्ले के साथ एक पैनकेक बनाता हूं?
भाग्य Averruncus

यह समाधान अच्छा लग रहा है सिवाय इसके कि यह अब स्ट्रिंग का REG_MULTI_SZ सरणी नहीं है ... और मुझे नहीं लगता कि यह कभी भी मूल कोड के साथ था।
DavidPostill

@DavidPostill अच्छा बिंदु। मैं प्रदान किए गए डेटा को सही मान रहा था। :)
ᴇc --ιᴇ007

हम्म्म्म अब अन्य प्रश्न अगर आपको कोई आपत्ति नहीं है, तो टेक्स्ट फ़ाइल में गूँजने वाली लाइनें होने से बैच फ़ाइल को .reg फ़ाइल कैसे बनाएँ?
भाग्य अवर्णकुस

echo This is a line of text >> file.reg
15c atιᴇ007
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.