Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Powershell Eine bestimmte Zeile in einer datei überschreiben

Frage Entwicklung Batch & Shell

Mitglied: HanzNappel

HanzNappel (Level 1) - Jetzt verbinden

28.07.2010 um 16:11 Uhr, 19239 Aufrufe, 3 Kommentare

Guten Tag, ich habe gerade angefangen mich mit Powershell auseinander zu setzen und stehe nun vor folgendem Problem:

Ich möchte gerne eine bestimmte Zeile in einer Ini Datei überschreiben oder etwas anfügen. Ich weiss nur leider nicht wie ich das hinbekommen soll.
Ich habe zwei möglichkeiten gefunden einmal Set-Content und das -replace von update-list. Nur bekomme ich es leider nicht hin das er mir nur die Zeile
überschreibt. Also es ist eine Ini Datei in der Datenbankinformationen stehen und ich möchte den Benutzernamen für eine bestimmte Verbindung per script setzen.

Da der Eintrag für den Benutzernamen mehrfach eingetragen ist, hast mir replace natürlich alle Einträge überschrieben und mit set-content schreibt er die Datei quasi neu.

Da ich beim Zeilenweisen auslesen der Datei einen Zähler hochzählen lasse, wäre es kein Problem die Zeile per Zeilennummer anzusprechen, nur hab ich leider
keinen Plan wie ich das mit Powershell Bewerkstellige. Hat jemand eine Idee?

Gruss
HanzNappel
Mitglied: LotPings
28.07.2010 um 16:47 Uhr
Hallo Hans,

Google ist dein Freund, gleich der erste Eintrag ist doch viel versprechend:
INI File PowerShell Functions.

Gruß
LotPings
Bitte warten ..
Mitglied: HanzNappel
29.07.2010 um 12:00 Uhr
Hallo LotPings,

Google ist sogar ein guter Freund von mir ^^

Mit den Funktionen hab ich das Problem das:

1) Er alle Absätze (Leerzeilen) rausschmeisst, ist jetzt nicht so schlimm.
2) Das hinterher alles wirr durcheinander in der Ini steht, was ich ziemlich doof finde.

Aber trotzdem Danke.

Gruss
HanzNappel
Bitte warten ..
Mitglied: HanzNappel
03.08.2010 um 11:24 Uhr
Hier die Lösung:

  1. File to change
$file = c:\myFile.txt

  1. Get file content and store it into $content variable
$content = Get-Content -Path $file

  1. Replace the line number 4 by a new text
$content[3] = 'new text'

  1. Set the new content
$content | Set-Content -Path $file


If file was formated has the fllowing :
line 1
line 2
line 3
line 4
line 5

The result will be :
line 1
line 2
line 3
new text
line 5

Hope this helps.
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Installation
gelöst Mit Powershell in einer Datei eine Zeile auslesen (6)

Frage von Bommi1961 zum Thema Installation ...

VB for Applications
gelöst Per Vbscript bestimmte Zeile ungeachtet der Nummerierung prüfen (7)

Frage von aletri zum Thema VB for Applications ...

VB for Applications
gelöst Vbscript bestimmte Zeile ungeachtet der Nummerierung löschen (4)

Frage von aletri zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (13)

Frage von HeinrichM zum Thema Windows Server ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...