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, 19455 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
Ähnliche Inhalte
Installation
gelöst Mit Powershell in einer Datei eine Zeile auslesen (6)

Frage von Bommi1961 zum Thema Installation ...

Batch & Shell
gelöst Bestimmte Zeile einer Textdatei mit Batch auslesen (2)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Batch & Shell
Powershell Schriften installieren und überschreiben (8)

Frage von zamsi7 zum Thema Batch & Shell ...

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

Frage von aletri zum Thema VB for Applications ...

Heiß diskutierte Inhalte
TK-Netze & Geräte
gelöst Telefonanlage gesucht (37)

Frage von Xaero1982 zum Thema TK-Netze & Geräte ...

Windows Netzwerk
Anmeldung an Domäne schlägt oft fehlt (Fehlermeldung: falsches Passwort) (24)

Frage von harald.schmidt zum Thema Windows Netzwerk ...

Exchange Server
gelöst Wie freigegebenes Postfach immer als primäre Sendeadresse verwenden? (18)

Frage von Flinxit zum Thema Exchange Server ...

Microsoft Office
Outlook 2016 - Keine Mails sichtbar (nach Suche schon) (17)

Frage von Hirschix3 zum Thema Microsoft Office ...