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, 20283 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 ..
Ähnliche Inhalte
Batch & Shell
Powershell Schriften installieren und überschreiben (8)

Frage von zamsi7 zum Thema Batch & Shell ...

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

Frage von Bommi1961 zum Thema Installation ...

Batch & Shell
Powershell - Zeilen in einer csv löschen bis (7)

Frage von Franz-Josef-II zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell funktioniert nicht richtig beim Auslesen der letzten Zeile (5)

Frage von Peter32 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (17)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...