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 - Dateiinhalt verändern

Frage Entwicklung Batch & Shell

Mitglied: tray-park

tray-park (Level 1) - Jetzt verbinden

30.07.2010 um 15:44 Uhr, 15768 Aufrufe, 2 Kommentare

Ich möchte den Inhalt einer Datei verändern.

Hi,

ich schreibe gerade ein kleines Skript, welches den Inhalt einer Textdatei einlesen, manipulieren und dann in eine andere Datei ausgeben soll.
Bisher sieht das so aus:
01.
$Quelle="D:\Quelle\test.txt" 
02.
$Ziel="D:Ziel\test-fertig.txt" 
03.
 
04.
$Inhalt=Get-Content -Path $Quelle -TotalCount 10 
05.
 
06.
$InhaltNeu=$Inhalt.item(0).tostring() 
07.
 
08.
$InhaltNeuNeu=$InhaltNeu.Replace("euro","mark") 
09.
 
10.
Write-Host $InhaltNeuNeu
Ich gebe die Quelle und das Ziel an und lese die ersten 10 Zeilen der Datei ein.
Hier tritt, vorerst, das erste Problem auf.

Ich möchte den Inhalt der Datei als String in eine weitere Variable schreiben, da ich diesen sonst nicht bearbeiten kann.
01.
$InhaltNeu=$Inhalt.item(0).tostring()
Das funktioniert hier aber leider nicht wie ich es mir vorgestellt habe.

Wie kann ich den Inhalt einer Variablen in einen String umwandeln, um diesen manipulieren zu können?

Freue mich über jede Antwort.

Grüße



Tray
Mitglied: TsukiSan
31.07.2010 um 01:43 Uhr
Hallo tray-park,

ich bin kein Experte in der Powershell, aber trotzdem habe ich ein mulmiges Gefühl bei deinem Code.
Vermutlich Powershell auch

Schau dir mal dieses Beispiel in Powershell an. Da wird auch replaced und zwar wird hier auch eine Datei in einer Schleife durchsucht
und es sollen etwaige the the in the ersetzt werden:
01.
# Example of PowerShell -replace parameter 
02.
clear-Host 
03.
$file = Get-ChildItem "D:\powershell\snippets\g*.txt" 
04.
foreach ($str in $file) 
05.
06.
$content = Get-Content -path $str 
07.
$content | foreach {$_ -replace "the the", "the"} | Set-Content $str 
08.
09.
write-Host "After replace `n" 
10.
$file
Da steht ein $str in Zeile 6 und ein .tostring kann ich nicht finden.
Noch mehr Beispiele kannst du hier finden.
Allerdings ist die Seite in english.

Gruss
Tsuki
Bitte warten ..
Mitglied: tray-park
02.08.2010 um 16:25 Uhr
Hi,

danke dir vielmals! Das Beispiel hat mir sehr geholfen.

Hier ist das fertige Skript.
01.
Clear-Host 
02.
$Quelle="D:\Quelle\test.txt" 
03.
$Ziel="D:\Ziel\test.txt" 
04.
 
05.
$Datei = Get-ChildItem $Quelle 
06.
foreach ($String in $Datei) 
07.
08.
$Inhalt = Get-Content -Path $String 
09.
$Inhalt | foreach {$_ -replace "euro","mark"} | Out-File -FilePath $Ziel -encoding Default -Append  
10.
}
Grüße



Tray
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst PowerShell, Get-Date, Sommerzeit Winterzeit, Zeitumstellung (6)

Frage von Rippchen zum Thema Batch & Shell ...

Windows Netzwerk
gelöst Powershell skript zum Auslesen der im AD angemeldeten User (2)

Frage von jan.kleinel zum Thema Windows Netzwerk ...

Batch & Shell
Powershell, neue Spalte einer Liste hinzufügen (3)

Frage von DanielBodensee zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - 2 Arrays vergleichen und gleiche Einträge verbinden (6)

Frage von internet2107 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Flatrates
DeutschlandLAN der Telekom - welche internen IPs? (19)

Frage von qualidat zum Thema Flatrates ...