मेरी पहली पोस्ट, यहां तक कि इस मित्रवत प्रदान किए गए ज्ञान का उपयोग करके पहले से ही हल किए गए अधिकांश प्रश्न हल किए गए हैं। लेकिन अब मैं cmd.exe में जहर पात्रों को संभालने के बारे में एक प्रश्न के साथ विचारों से बाहर चला गया।दिए गए चर में प्रतिशत संकेतों से बचें
मान लीजिए कि डबल कोट्स में संलग्न एक स्ट्रिंग वैरिएबल है। अधिकांश जहर पात्रों को पहले से ही सामान्य वर्णों द्वारा प्रतिस्थापित कर दिया गया है, स्क्रिप्ट को परेशान करने वाले बाएं लोग "&", "(", ")" और "%" हैं। स्ट्रिंग को बाद में कोट्स के बिना फ़ाइल में प्रतिबिंबित किया जाना चाहिए।
G:\YAET\20130204_Work>TryAmper.bat "100% Rock & Roll (7' UpMix)"
=hyperlink("file://100 Rock & Roll (7' UpMix)";"LossLess")
100 Rock & Roll (7' UpMix)
G:\YAET\20130204_Work>
मैं प्रतिशत जानते हैं कि: - लापता प्रतिशत चिह्न से अलग
@echo off & setlocal ENABLEEXTENSIONS
SET AlbumArtist=%1
CALL :EscapePoisonChars %AlbumArtist% AlbumArtist_VDN
SET "FlacHyperLink==hyperlink^("file://%AlbumArtist_VDN%"^;"LossLess"^)")
echo %FlacHyperLink%
echo %AlbumArtist_VDN%
endlocal &GOTO:EOF
:EscapePoisonChars
@echo off & setlocal ENABLEEXTENSIONS
SET TmpString=%1
SET TmpString=%TmpString:&=^^^&%
SET TmpString=%TmpString:(=^^^(%
SET TmpString=%TmpString:)=^^^)%
endlocal&SET %2=%TmpString:~1,-1%&GOTO :EOF
ऊपर मैं उम्मीद आउटपुट प्राप्त जब मैं अपने स्क्रिप्ट फोन: तो मैं विचार से बचने के लिए जहर पात्रों तीन गुना था खुद से बच सकते हैं। तो "%%" आम तौर पर एक शाब्दिक "%" की ओर ले जाएगा। लेकिन मेरे लिए प्रतिशत संकेतों के लिए एक कार्यस्थल प्रतिस्थापन प्रक्रिया खोजना संभव नहीं था क्योंकि cmd हमेशा इसे एक चर के रूप में व्याख्या करता है और इसे विस्तारित करने का प्रयास करता है। क्या यह इस मुद्दे को संभालने या परिवर्तनीय विस्तार की गलतफहमी को पूरा करने की पूरी गलत दिशा है? किसी भी संकेत का स्वागत है! धन्यवाद!
चीयर्स, मार्टिन
संपादित हटाया स्वयं के कोड, स्वच्छ समाधान के लिए जेब के जवाब नीचे देखें।
मदद के लिए धन्यवाद, मार्टिन
जेब, मुझे आशा है कि आप [लिंक] (http://ss64.org/viewtopic.php?pid=4919#p4919) को अपने अविश्वसनीय हैक के साथ जवाब देने के बाद जवाब देंगे, मैं अभी भी पूरी तरह से समझ में नहीं आता हूं। आखिर में आपके सुझाव ने ज़हर के पात्रों के साथ अपने मुद्दे को हल किया। मैंने अपने प्रश्न के समाधान के आधार पर एक छोटा कोड स्निपेट जोड़ा क्योंकि मैं कोड ब्लॉक प्रारूप का उपयोग करना चाहता हूं। आपका बहुत बहुत धन्यवाद! मार्टिन – CmdQuestion
आर्ग - आपने क्या किया? मैंने _clean_ समाधान – jeb
जेब जोड़ा, क्षमा करें अगर आप मेरे काम से नाखुश हैं। कोड का उपयोग करने से मुझे वर्णों के किसी भी संयोजन के लिए कोई समस्या नहीं आई, इसलिए मैंने सोचा कि परिणाम यहां प्रस्तुत करने के लिए पर्याप्त होगा। मैंने इसे छोड़ दिया और अभी आपके समाधान को संदर्भित किया। मार्टिन – CmdQuestion