मेरी मूल कॉन्फ़िग फ़ाइल (web1.config) के अंत में एक नई पंक्ति (लाइन ब्रेक, CRLF) संलग्न कर देता है बिना किसी अतिरिक्त लाइन है और जब नोटपैड में देखा (सभी पात्रों दिखा रहा है) के रूप में दिखता है:सेट सामग्री मेरी फाइल
Move-Item "web1.config" "webtemp.config"
Get-Content "webtemp.config" | ForEach-Object {$_ -replace "database=myDb;", "database=newDb;"} |Set-Content "web1.config" -Force
Remove-Item "webtemp.config"
Write-Output('Settings Changed')
तो, नई फ़ाइल (web1.config) उत्पन्न देखो:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.6" />
<httpRuntime targetFramework="4.6" />
</system.web>
<appSettings>
<add key="myConnectionString" value="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</appSettings>
</configuration>
अब, मैं कुछ और जो लगता है कि करने के लिए अपने डेटाबेस नाम बदलने के लिए स्क्रिप्ट लागू करने की आवश्यकता s के रूप में: मैं इस तरह के रूप में अन्य सभी विकल्पों को आज़मा अतिरिक्त लाइन
सूचना फ़ाइल के अंत में (जो पूरी तरह से की जरूरत नहीं है) पर कहा: - बाहर-फ़ाइल API का उपयोग कर - का उपयोग करते हुए। नेट आईओ विधि System.IO.StreamWriter - -ऑनलाइन फ्लैग का उपयोग करके (यह सभी 10 लाइनों को सिंगल लाइन में परिवर्तित करता है) - विभिन्न एन्कोडिंग विकल्पों का उपयोग - \ r \ n से \ r को बदलने की कोशिश की गई (फिर से सेट- सामग्री हमेशा crlf उत्पन्न करती है)
मैं PowerShell v5.1 का उपयोग कर रहा हूं।
मुझे आपको नए आने वालों को मानक सलाह देने की अनुमति दें: यदि कोई उत्तर आपकी समस्या हल करता है, तो कृपया इसके आगे बड़े चेक मार्क (✓) पर क्लिक करके इसे स्वीकार करें और वैकल्पिक रूप से इसे भी वोट दें (अप-वोटिंग के लिए 15 या अधिक प्रतिष्ठा अंक)। यदि आपको अन्य उत्तर उपयोगी मिलते हैं, तो उन्हें वोट दें। स्वीकार करना (जिसके लिए आपको 2 प्रतिष्ठा अंक प्राप्त होंगे) और उप-वोटिंग भविष्य के पाठकों की सहायता करें। कृपया [प्रासंगिक सहायता-केंद्र आलेख] देखें (http://stackoverflow.com/help/someone-answers)। यदि आपके प्रश्न का अभी तक पूरी तरह उत्तर नहीं दिया गया है, तो कृपया प्रतिक्रिया दें या [स्वयं-उत्तर] (http://stackoverflow.com/help/self-answer)। – mklement0