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, 15646 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
Ähnliche Inhalte
Batch & Shell
gelöst Batch und Powershell (2)

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

Batch & Shell
gelöst Powershell Get-Content Inhalt filtern (1)

Frage von derhoeppi zum Thema Batch & Shell ...

Batch & Shell
gelöst PC nach einem Kopiervorgang herunterfahren - PowerShell Script? (4)

Frage von Stefan007 zum Thema Batch & Shell ...

Windows Server
PowerShell Script - Ordnerrechte setzen (7)

Frage von desmondjames zum Thema Windows Server ...

Heiß diskutierte Inhalte
Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (13)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...