.Ini फ़ाइलों में चर सेट करने का सुरुचिपूर्ण तरीका


1

मैं वर्तमान में Microsoft Sql Server 2012 की स्थापना को स्क्रिप्ट करने का प्रयास कर रहा हूं, और मैंने अपनी पावर स्क्रिप्ट स्क्रिप्ट में उपयोगकर्ता को इंस्टॉलेशन प्रक्रिया के लिए विकल्प सेट करने देने में समस्या आ रही है

चूँकि sql सर्वर के विकल्प एक। Ini फ़ाइल में सेट होते हैं, मुझे यकीन नहीं है कि .ini फ़ाइल को संपादित करने का सबसे अच्छा तरीका क्या है। मैं खुद देख सकता था

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

क्या इसके अलावा .ini फ़ाइलों के साथ काम करने का कोई और सुरुचिपूर्ण तरीका है? क्या कोई "फाइल्स और रिप्लेस" पॉवरशेल मॉड्यूल है जो मैं उपयोग कर सकता है?


संभवतः एक "इन-स्क्रिप्ट" चर से संपूर्ण .ini फ़ाइल को फिर से लिखने के लिए सबसे अच्छा है जिसमें आपका टेम्पलेट शामिल है क्योंकि तब आप गारंटी दे सकते हैं कि सामग्री वह होगी जो आपको चाहिए (इसके अलावा उपयोगकर्ता द्वारा निर्धारित मान) ...
Kinnectus

"क्या कोई" फाइल्स के लिए पॉवरशेल मॉड्यूल है जिसे मैं उपयोग कर सकता हूं? " INI फाइलें सिर्फ पाठ हैं, PS के किसी भी मानक को खोजें और प्रतिस्थापित करें कमांड एक पर काम करेगी। फ़ाइल को मेमोरी में लोड करें, ढूंढें और बदलें, फ़ाइल में वापस डंप करें।
Ƭᴇcʜιᴇ007

जवाबों:


1

.Ini को एक पाठ फ़ाइल के रूप में मानें। कहते हैं कि हमारे पास निम्नलिखित हैं:

[section1]
var1=foo1
[section2]
var2=foo2
var3=foo3

"Var2" को दिए गए मान को बदलने के लिए, हम कर सकते हैं:

(get-content .\test.ini).Replace('foo2','bar2') | Set-Content .\test.ini

जहां "बार 2" उपयोगकर्ता परिभाषित मूल्य है। उपयोगकर्ता परिभाषित मूल्य को शामिल करने के लिए, आप कर सकते हैं:

$ini = ".\test.ini"
$userInput = Read-Host -Prompt "Enter a new value for var2"
(get-content $ini).Replace('foo2',$userInput) | Set-Content $ini

जिस तरह से आप डिज़ाइन को चुनते हैं, आप किस तरह से प्रतिस्थापन को संभालते हैं, यह आपकी विशेष फ़ाइल में डेटा पर निर्भर करेगा।


यह थोड़ा सरल है, अगर कई प्रविष्टियाँ हों तो क्या होगा =foo2, आपको मूल्य-नाम भी निर्दिष्ट करने की आवश्यकता है। यदि विभिन्न वर्गों में डुप्लिकेट मान-नाम हैं तो क्या होगा?
Peter Hahndorf
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.