कमांड लाइन टूल्स की विंडोज लाइब्रेरी से गायब होने वाला एक बहुत ही उपयोगी फ़ंक्शन सादा पाठ फ़ाइलों में टेक्स्ट को प्रतिस्थापित करने की क्षमता है। इस तरह का एक कार्य विभिन्न व्यावहारिक कार्यों के लिए उपयोग किया जा सकता है जो कई सिस्टम व्यवस्थापक के प्रदर्शन करते हैं, जैसे कि:
- यूएनसी पथों को बदलने के लिए कॉन्फ़िगरेशन / आईएनआई फाइल अपडेट करें।
-
टर्मिनल / साइट्रिक्स सर्वर पर आईएनआई फ़ाइलों में संग्रहीत मास अद्यतन उपयोगकर्ता जानकारी।
- 'टेम्पलेटेड' डेटा को तैनात करने के लिए स्क्रिप्ट के साथ संयोजन में उपयोग करें और फिर कॉपी की गई फ़ाइलों को मान लागू करें।
हमारा समाधान एक वीबीस्क्रिप्ट है जो विजुअल बेसिक रीप्लेस फ़ंक्शन के साथ इंटरफेस करता है। इस स्क्रिप्ट को अपने विंडोज पाथ वैरिएबल में किसी स्थान पर रखकर, अब आपके पास यह कार्यक्षमता आपके निपटारे पर उपलब्ध है।
उपयोग
एक बार आपके सिस्टम पर, आप केवल ReplaceText कमांड का उपयोग करके स्क्रिप्ट को कॉल कर सकते हैं। कुछ उदाहरण बताएंगे कि आप इसका उपयोग कैसे कर सकते हैं:
सी में "n / a" शब्द "null" को बदलें: DataValues.csv फ़ाइल:
ReplaceText “C:DataValues.csv” null n/a
सी में सभी आईएनआई फ़ाइलों को स्कैन करें: उपयोगकर्ता (+ उप निर्देशिका) फ़ोल्डर "सर्वर = पुरानी" की सभी घटनाओं को "सर्वर = नया" के साथ एक केस असंवेदनशील खोज का उपयोग करके प्रतिस्थापित करें:
FORFILES /P “C:Users” /M *.ini /S /C “Cmd /C ReplaceText @path Server=Old Server=New /I”
किसी केस संवेदनशील खोज का उपयोग करके "पीए $ $ woRd" के साथ "पी @ ssw0rd" को प्रतिस्थापित करने वाले वर्तमान उपयोगकर्ता की प्रोफ़ाइल में सभी सीएफजी फ़ाइलों को स्कैन करें:
FORFILES /P “%UserProfile%” /M *.cfg /S /C “Cmd /C ReplaceText @path p@ssw0rd PA$$woRd”
जैसा कि आप नीचे देख सकते हैं, स्क्रिप्ट बहुत सरल है और आपके पास होने वाली किसी विशेष परिस्थितियों को समायोजित करने के लिए आसानी से संशोधित किया जा सकता है। वैकल्पिक रूप से, आप स्क्रिप्ट की प्रतियां बनाना चाह सकते हैं जो विशेष मानों को हार्डकोड करते हैं ताकि आप डबल-क्लिक के साथ कमांड निष्पादित कर सकें और / या आपको दूसरों को आसानी से वितरित करने की अनुमति दे सकें।
लिपी
'Replace Text 'Written by: Jason Faulkner 'SysadminGeek.com
'This script should be placed in a folder specified in your system's PATH variable.
'Usage (WScript): 'ReplaceText FileName OldText NewText [/I]
' /I (optional) - Text matching is not case sensitive
Set oArgs = WScript.Arguments
intCaseSensitive = 0 For i = 3 to oArgs.Count-1 If UCase(oArgs(i)) = '/I' Then intCaseSensitive = 1 Next
Set oFSO = CreateObject('Scripting.FileSystemObject')
If Not oFSO.FileExists(oArgs(0)) Then WScript.Echo 'Specified file does not exist.' Else Set oFile = oFSO.OpenTextFile(oArgs(0), 1) strText = oFile.ReadAll oFile.Close
strText = Replace(strText, oArgs(1), oArgs(2), 1, -1, intCaseSensitive)
Set oFile = oFSO.OpenTextFile(oArgs(0), 2) oFile.WriteLine strText oFile.Close End If
अतिरिक्त नोट्स
डिफ़ॉल्ट रूप से, विंडोज VBScript (VBS) फ़ाइलों को निष्पादित करने के लिए WScript का उपयोग करता है। एकमात्र समस्या यह हो सकती है कि स्क्रिप्ट से कोई भी त्रुटि और / या संदेश पॉपअप बॉक्स के रूप में दिखाई देंगे। कमांड लाइन टूल के लिए, इन संदेशों को कंसोल में प्रदर्शित करना सबसे अच्छा है। आप इसे पूरा करने के कुछ तरीके हैं।
कमांड प्रॉम्प्ट (व्यवस्थापक अधिकारों के साथ) से इस आदेश को चलाकर VBScript फ़ाइलों के डिफ़ॉल्ट हैंडलर को CScript में बदलें:
CScript //H:CScript
CSScript कमांड का उपयोग करके स्पष्ट रूप से ReplaceText स्क्रिप्ट चलाएं:
CScript “C:PathToReplaceText.vbs” //B FileName OldText NewText [/I]
एक विशेष मामले के रूप में, बैच स्क्रिप्ट से ReplaceText निष्पादित करने से आम तौर पर डिफ़ॉल्ट हैंडलर पर ध्यान दिए बिना इंजन के रूप में सीएसक्रिप्ट का संकेत मिलता है। इस कार्यक्षमता पर भरोसा करने से पहले आप निश्चित रूप से इसका परीक्षण करना चाहेंगे।
SysadminGeek.com से ReplaceText स्क्रिप्ट डाउनलोड करें