मुखपृष्ठ » कैसे » कमांड लाइन से प्लेन टेक्स्ट फाइल्स में टेक्स्ट को बदलें

    कमांड लाइन से प्लेन टेक्स्ट फाइल्स में टेक्स्ट को बदलें

    एक बहुत ही उपयोगी फ़ंक्शन जो कमांड लाइन टूल की विंडोज लाइब्रेरी से गायब है, पाठ को सादे पाठ फ़ाइलों में बदलने की क्षमता है। इस तरह के एक फ़ंक्शन का उपयोग विभिन्न प्रकार के व्यावहारिक कार्यों के लिए किया जा सकता है, जो कई सिस्टम व्यवस्थापक का प्रदर्शन करते हैं, जैसे:

    • UNC रास्तों को बदलने के लिए कॉन्फ़िगरेशन / INI फ़ाइलों को अपडेट करें.
    • टर्मिनल / Citrix सर्वर पर INI फ़ाइलों में संग्रहीत मास अपडेट उपयोगकर्ता जानकारी.
    • 'टेम्प्लेटेड' डेटा को परिनियोजित करने के लिए लिपियों के साथ संयोजन में उपयोग करें और फिर कॉपी की गई फ़ाइलों पर मान लागू करें.

    हमारा समाधान एक VBScript है जो विज़ुअल बेसिक रिप्लेसमेंट फ़ंक्शन के साथ इंटरफेस करता है। इस स्क्रिप्ट को अपने विंडोज पैथ वेरिएबल में एक स्थान पर रखकर, अब आपके पास यह सुविधा आपके निपटान में उपलब्ध है.

    उपयोग

    एक बार आपके सिस्टम पर, आप केवल रिप्लेसटेक्स्ट कमांड का उपयोग करके स्क्रिप्ट को कॉल कर सकते हैं। कुछ उदाहरण आपके द्वारा इसका उपयोग करने के तरीकों का वर्णन करेंगे:

    "N / a" शब्द को C: DataValues.csv फ़ाइल से बदलें।

    रिप्लेसटेक्स्ट "C: DataValues.csv" null n / a

    C में सभी INI फ़ाइलों को स्कैन करें: उपयोगकर्ता (+ उप निर्देशिका) फ़ोल्डर "सर्वर = पुराना" की सभी घटनाओं की जगह "सर्वर = नया" केस असंवेदनशील खोज का उपयोग करते हुए:

    FORFILES / P "C: उपयोगकर्ता" / M * .ini / S / C "Cmd / C रिप्लेसमेंट @path सर्वर = पुराना सर्वर = नया / I"

    केस संवेदनशील खोज का उपयोग करके "PA $$ woRd" के साथ "p @ ssw0rd" के स्थान पर वर्तमान उपयोगकर्ता की प्रोफ़ाइल में सभी CFG फ़ाइलों को स्कैन करें:

    FORFILES / P "% UserProfile%" / M * .cfg / S / C "Cmd / C रिप्लेसमेंट @path p @ ssw0rd PA $$ woRd"

    जैसा कि आप नीचे देख सकते हैं, स्क्रिप्ट बहुत सरल है और आपके पास किसी भी विशेष परिस्थितियों को समायोजित करने के लिए आसानी से संशोधित किया जा सकता है। वैकल्पिक रूप से, आप स्क्रिप्ट की उन प्रतियों को बनाना चाह सकते हैं जो विशेष मानों को हार्डकोड करती हैं ताकि आप एक डबल-क्लिक और / या आसानी से दूसरों को वितरित करने की अनुमति दे सकें.

    लिपी

    'पाठ बदलें
    'लिखित: जेसन फॉल्कनर द्वारा
    'SysadminGeek.com

    'यह स्क्रिप्ट आपके सिस्टम के PATH चर में निर्दिष्ट फ़ोल्डर में रखी जानी चाहिए.

    'उपयोग (WScript):
    'रीप्लेक्ट टेक्स्ट फ़ाइलनाम ओल्डटेक्स्ट न्यूटेक्स्ट [/ I]

    '/ I (वैकल्पिक) - पाठ मिलान संवेदनशील नहीं है

    OArgs = WScript.Arguments सेट करें

    intCaseSensitive = 0
    I = 3 से oArgs.Count-1 के लिए
    यदि UCase (oArgs (i)) = "/ I" तो intCaseSensitive = 1
    आगामी

    सेट OFSO = CreateObject ("स्क्रिप्टिंग.फाइलसिस्टमऑबजेक्ट")

    यदि oFSO.FileExists (oArgs (0)) तब नहीं
    WScript.Echo "निर्दिष्ट फ़ाइल मौजूद नहीं है।"
    अन्य
    सेट oFile = oFSO.OpenTextFile (oArgs (0), 1)
    strText = oFile.ReadAll
    oFile.Close

    strText = बदलें (strText, oArgs (1), oArgs (2), 1, -1, intCaseSensitive)

    सेट oFile = oFSO.OpenTextFile (oArgs (0), 2)
    oFile.WriteLine strText
    oFile.Close
    अगर अंत

    अतिरिक्त नोट्स

    डिफ़ॉल्ट रूप से, Windows VBScript (VBS) फ़ाइलों को निष्पादित करने के लिए WScript का उपयोग करता है। इसकी एकमात्र समस्या यह हो सकती है कि कोई त्रुटि है और / या स्क्रिप्ट से संदेश पॉपअप बॉक्स के रूप में दिखाई देंगे। कमांड लाइन टूल के लिए, यह सबसे अच्छा है कि इन संदेशों को कंसोल में प्रदर्शित किया जाए। कुछ तरीके हैं जिनसे आप इसे पूरा कर सकते हैं.

    कमांड प्रॉम्प्ट (प्रशासक अधिकारों के साथ) से इस कमांड को चलाकर VBScript फाइलों के डिफ़ॉल्ट हैंडलर को CScript में बदलें:

    CScript // H: CScript

    प्रतिस्थापन स्क्रिप्ट को स्पष्ट रूप से CScript कमांड का उपयोग करके चलाएं:

    CScript "C: PathToReplaceText.vbs" // B फ़ाइलनाम OldText NewText [/ I]

    एक विशेष मामले के रूप में, बैच स्क्रिप्ट से रिप्लेसटेक्स्ट निष्पादित करना आमतौर पर CScript का अर्थ है कि डिफ़ॉल्ट हैंडलर की परवाह किए बिना इंजन का उपयोग किया गया। आप निश्चित रूप से इस कार्यक्षमता पर भरोसा करने से पहले हालांकि यह परीक्षण करना चाहते हैं.

    डाउनलोड प्रतिस्थापन स्क्रिप्ट SysadminGeek.com से