Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 16646 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 ..
Ähnliche Inhalte
Windows Server
gelöst Dateiinhalt Suche auf Clients an Server 2016 nicht funktionsfähig (2)

Frage von vBurak zum Thema Windows Server ...

Batch & Shell
Weiterentwicklung von Powershell

Information von Penny.Cilin zum Thema Batch & Shell ...

Windows 10
Verzeichnis nach Dateiinhalt durchsuchen (5)

Frage von MPFG zum Thema Windows 10 ...

Batch & Shell
gelöst PowerShell Exchange (6)

Frage von Emptyman zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

LAN, WAN, Wireless
Gebäudeverkabelung 10Gigabit LWL (28)

Frage von raffzwo zum Thema LAN, WAN, Wireless ...

Windows Update
Novemberpatches und Nadeldrucker bereiten Kopfschmerzen (14)

Tipp von MettGurke zum Thema Windows Update ...