Top-Themen

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 - Bestimmte Daten aus Excel in neue Excel-Dateien schreiben und speichern

Mitglied: Pat.bat

Pat.bat (Level 1) - Jetzt verbinden

04.10.2019 um 12:30 Uhr, 340 Aufrufe, 15 Kommentare

Hallo zusammen,

ich stocke bei folgender Aufgabe.
Ich habe eine Textdatei mit Zahlungsdaten, Aktenzeichen und dem Zahlungsempfänger.

Diese Datei konvertiere ich zuerst als CSV und lese sie dann in Excel ein.
Dort bereite ich dann die Daten auf. bestimmte Spalten löschen die unnötig sind und Spaltenbreite anpassen.

Nun möchte ich die Daten (Zeilen) nach Spalte F (Zahlungsempfänger) in eine eigene Excel Datei speichern, wobei die erste Zeile (Header) mit soll. Sodass ich am Ende beispielsweise 30 Excel Dateien habe wo nur die Buchungen der einzelnen ZEs drin sind.


01.
$Textdatei = 'C:\Users\pvoelz\Desktop\Zahllisten\Zahlliste.txt'
02.
$CSV = 'C:\Users\pvoelz\Desktop\Zahllisten\Zahlliste_NEU.csv'
03.

04.
((Get-Content $Textdatei) -replace '^\s+','' ) -replace ' *\t *',';' | convertfrom-csv -Delimiter ";" | `
05.
export-csv -path $CSV -delimiter ";" -Encoding utf8 -NoType
06.

07.
$xlo = New-Object -ComObject excel.application
08.
$xlo.visible = $true
09.
$xlo.DisplayAlerts = $false
10.
$xlw = $xlo.Workbooks.Open($CSV)
11.
$xls = $xlw.worksheets.Item(1)
12.

13.
# Vorbereiten der Exceldatei für Aufteilung
14.
$arrCols = @()
15.
$arrCols += $xls.Range("C:C").EntireColumn
16.
$arrCols += $xls.Range("G:G").EntireColumn
17.
$arrCols += $xls.Range("H:H").EntireColumn
18.
$arrCols += $xls.Range("J:J").EntireColumn
19.
$arrCols += $xls.Range("K:K").EntireColumn
20.
$arrCols += $xls.Range("O:O").EntireColumn
21.
$arrCols | %{$_.Delete() | Out-Null}
22.

23.
$xlo.ActiveSheet.Range("A:I").EntireColumn.AutoFit()
24.

25.
[int]$zeile = 2
26.
[int]$spalte = 6
27.
[string]$arrName = @()
28.

29.
$Wert = $xls.Cells.Item($zeile,$spalte).Text
30.
do {
31.
    $Wert = $xls.Cells.Item($zeile,$spalte).Text
32.
    If (!($arrName -match $Wert)) # Wenn die Einrichtung noch nicht bekannt, dann füge Sie einem Array hinzu
33.
    {
34.
        $arrName += $Wert
35.
        $LastSheet = $xlw.Worksheets|Select -Last 1
36.
        $NewSheet = $xlw.worksheets.add($LastSheet)
37.
        $NewSheet.Name = $Wert
38.
        # Write-Host $Wert
39.
    }
40.
    $zeile++
41.
}
42.
while ($xls.Cells.Item($zeile,$spalte).Text.Length -gt 0) 
43.

44.
write-Host $arrName
45.

46.
# Speichern der Excel Datei
47.
$xlo.ActiveWorkbook.SaveAS( "C:\Users\pvoelz\Desktop\Zahllisten\Neu.xlsx", [Microsoft.Office.Interop.Excel.XlFileFormat]::xlWorkbookDefault)
48.

49.
# Cleanup
50.
$xlo.DisplayAlerts = $true
51.
$xls = $null
52.
$xlw.Close()
53.
$xlo.Quit()
Folgendes war meine erste Idee, welche nicht optimal ist.

Ich gehe durch jeden Eintrag in Spalte F. Wenn der Name noch nicht im Array vorhanden ist, dann speichere ihn dort ab und erstelle ein neues Worksheet [NOCH NICHT IM CODE => und kopiere den Header rein. Dort kopiere dann die aktuelle Zeile rein (Buchungsdaten).
Gehe zur nächsten Zeile, wenn diese noch nicht im Array ist, dann wie oben ansonsten kopiere Zeile, gehe zu dem Worksheet mit dem $Wert, gehe an letzte Zeile und füge ein.
usw.

Das stelle ich mir aber ziemlich PErformancelastig vor.

Einfacher wäre es wohl, die Tabelle zu Filtern.
D.h. ich hol mir erstmal ein Array mit allen möglichen ZE-Namen. Dann erstelle ich einen Loop der jeden Namen Filtert.
Ich Setze also einen Filter auf Spalte F, filter mit dem aktuellen $Wert aus dem Array und kopiere die ganze Tabelle in ein neues Worksheet und speichere das als neue Datei ab.

Geht es vll noch optimaler oder ist die Filter Variante die beste Option?
Mitglied: 141320
04.10.2019, aktualisiert um 12:40 Uhr
Group-Object ist wie dafür geschaffen
01.
((Get-Content $Textdatei) -replace '^\s+','' ) -replace ' *\t *',';' | convertfrom-csv -Delimiter ";" | group "Zahlungsempfänger" | %{
02.
   $empfänger = $_.Name
03.
$_.Group | export-csv "d:\Pfad\${empfänger}.csv" -NoType -Delimiter ":" -Encoding UTF8
04.
}
Bitte warten ..
Mitglied: erikro
LÖSUNG 04.10.2019 um 13:06 Uhr
Moin,

warum so kompliziert?


Zitat von Pat.bat:
01.
$Textdatei = 'C:\Users\pvoelz\Desktop\Zahllisten\Zahlliste.txt'
02.
> $CSV = 'C:\Users\pvoelz\Desktop\Zahllisten\Zahlliste_NEU.csv'
03.
> 
04.
> ((Get-Content $Textdatei) -replace '^\s+','' ) -replace ' *\t *',';' | convertfrom-csv -Delimiter ";" | `
05.
> export-csv -path $CSV -delimiter ";" -Encoding utf8 -NoType
06.
> 

Warum machst Du das? Naja, warum auch nicht.

01.
$xlo = New-Object -ComObject excel.application
02.
> $xlo.visible = $true
03.
> $xlo.DisplayAlerts = $false
04.
> $xlw = $xlo.Workbooks.Open($CSV)
05.
> $xls = $xlw.worksheets.Item(1)
06.
> 
07.
> # Vorbereiten der Exceldatei für Aufteilung
08.
> $arrCols = @()
09.
> $arrCols += $xls.Range("C:C").EntireColumn
10.
> $arrCols += $xls.Range("G:G").EntireColumn
11.
> $arrCols += $xls.Range("H:H").EntireColumn
12.
> $arrCols += $xls.Range("J:J").EntireColumn
13.
> $arrCols += $xls.Range("K:K").EntireColumn
14.
> $arrCols += $xls.Range("O:O").EntireColumn
15.
> $arrCols | %{$_.Delete() | Out-Null}
16.
> 

Warum liest Du das in Excel ein und nimmst nicht die Powershell-Cmdlets für CSV? So wäre das viel kürzer und schneller:

01.
import-csv $csv -delimiter ";" | select * -excludeproperty [Liste der zu löschenden Spalten]  | export-csv $csv -delimiter ";" -notypeinformation
01.
$xlo.ActiveSheet.Range("A:I").EntireColumn.AutoFit()
02.
> 
03.
> [int]$zeile = 2
04.
> [int]$spalte = 6
05.
> [string]$arrName = @()
06.
> 
07.
> $Wert = $xls.Cells.Item($zeile,$spalte).Text
08.
> do {
09.
>     $Wert = $xls.Cells.Item($zeile,$spalte).Text
10.
>     If (!($arrName -match $Wert)) # Wenn die Einrichtung noch nicht bekannt, dann füge Sie einem Array hinzu
11.
>     {
12.
>         $arrName += $Wert
13.
>         $LastSheet = $xlw.Worksheets|Select -Last 1
14.
>         $NewSheet = $xlw.worksheets.add($LastSheet)
15.
>         $NewSheet.Name = $Wert
16.
>         # Write-Host $Wert
17.
>     }
18.
>     $zeile++
19.
> }
20.
> while ($xls.Cells.Item($zeile,$spalte).Text.Length -gt 0) 
21.
> 
22.
> write-Host $arrName
23.
> 
24.
> # Speichern der Excel Datei
25.
> $xlo.ActiveWorkbook.SaveAS( "C:\Users\pvoelz\Desktop\Zahllisten\Neu.xlsx", [Microsoft.Office.Interop.Excel.XlFileFormat]::xlWorkbookDefault)
26.
> 
27.
> # Cleanup
28.
> $xlo.DisplayAlerts = $true
29.
> $xls = $null
30.
> $xlw.Close()
31.
> $xlo.Quit()

Und zum Schluss:

01.
$datasets = import-csv $csv -delimiter ";"
02.
foreach($dataset in $datasets) {
03.

04.
   $dataset | export-csv -path "$($dataset.kundenname).csv" -Append -Delimiter ";" -NoTypeInformation
05.

06.
}
Oder auch gleich am Stück:

01.
$datasets = $(import-csv $csv -delimiter ";" | select * -excludeproperty [Liste der zu löschenden Spalten]) 
02.
foreach($dataset in $datasets) {
03.

04.
   $dataset | export-csv -path "$($dataset.kundenname).csv" -Append -Delimiter ";" -NoTypeInformation
05.

06.
}
hth

Erik
Bitte warten ..
Mitglied: Pat.bat
07.10.2019 um 10:28 Uhr
Hallo Erik,

danke für deine Hilfe.

in meiner Textdatei werden die Daten anhand von Leerzeichen und Tabs getrennt, daher

01.
-replace '^\s+','' ) -replace ' *\t *',';'
Also habe ich versucht, dein letztes Code-Beispiel dementsprechen anzupassen, aber ohne erfolg:

Kompletter Code:

01.
$CSV = 'C:\Users\pvoelz\Desktop\Zahllisten\Zahlliste.txt'
02.

03.
$arrCols = @("Buchungnummer", "angew.", "Abwahl", "Buchungsart", "Zahlmittel", "Betrag [€] auf/von Konto(Doppik)(...)")
04.

05.
$datasets = $(((Get-Content $CSV) -replace '^\s+','' ) -replace ' *\t *',';' | convertfrom-csv $CSV -delimiter ";" | select * -excludeproperty [$arrCols]) 
06.
foreach($dataset in $datasets) {
07.

08.
   $dataset | export-csv -path "$($dataset.kundenname).csv" -Append -Delimiter ";" -NoTypeInformation
09.
}

D.h. wenn das Datasets gefüllt wird, dann soll er erst die Daten in der Textdatei richtig trennen, Tabs durch Semikolon ersetzen, dann anhand dessen die csv in Spalten aufteilen ohne die Spalten in arrCols zu nehmen.

Habe ich dort einen Denkfehler, oder wie müsste das dann geschrieben werden?

01.
convertfrom-csv $CSV -delimiter ";"
Daran scheint er sich aufzuhängen, aber ich weiß noch nicht warum.


Vielen Dank.
Bitte warten ..
Mitglied: 141320
07.10.2019, aktualisiert um 10:52 Uhr
S. Code oben, reicht vollkommen für dein Vorhaben ...
Bitte warten ..
Mitglied: erikro
07.10.2019 um 11:20 Uhr
Moin,

lies mal https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ... Damit kommst Du nicht weiter. Wenn Du das so machen willst, dann musst Du import-csv nehmen. Also erst die Delimiter tauschen (warum auch immer) und dann das manipulierte CSV als CSV einlesen. Dann hast Du die einzelnen Datensätze als CSV-Objekte in dem Array und kannst sie auch als CSV weiterverarbeiten.

Liebe Grüße

Erik
Bitte warten ..
Mitglied: Pat.bat
07.10.2019, aktualisiert um 11:47 Uhr
Soweit läufts schon ganz gut, ich speichere so eine Zwischendatei ab, was vll gar nicht so verkehrt ist.

01.
$Textdatei = 'C:\Users\pvoelz\Desktop\Zahllisten\Zahlliste.txt'
02.
$CSV = 'C:\Users\pvoelz\Desktop\Zahllisten\Zahlliste_NEU.csv'
03.
$arrCols = @("Buchungnummer", "angew.", "Abwahl", "Buchungsart", "Zahlmittel", "Betrag [€] auf/von Konto(Doppik)(...)")
04.

05.
((Get-Content $Textdatei) -replace '^\s+','' ) -replace ' *\t *',';' | convertfrom-csv -Delimiter ";" | select * -excludeproperty $arrCols | `
06.
export-csv -path $CSV -delimiter ";" -Encoding utf8 -NoTypeInformation
07.

08.
$datasets = $(import-csv $csv -delimiter ";") 
09.
foreach($dataset in $datasets) {
10.

11.
   $dataset | export-csv -path "C:\Users\pvoelz\Desktop\Zahllisten\ZL\$($dataset.'ZE-Name').csv" -Append -Delimiter ";" -Encoding UTF8 -NoTypeInformation -Force
12.

13.
}
Allerdings gibt es einen ZE-Name, der ein Slash (/) im Namen hat und das führt bei der Anweisung

01.
 $dataset | export-csv -path "C:\Users\pvoelz\Desktop\Zahllisten\ZL\$($dataset.'ZE-Name').csv" -Append -Delimiter ";" -Encoding UTF8 -NoTypeInformation -Force
dazu das er das als anderen Pfad ansieht und so die Fehlermeldung schmeißt, das dieser Pfad unbekannt ist.

01.
export-csv : Ein Teil des Pfades "C:\Users\pvoelz\Desktop\Zahllisten\ZL\Landkreis Rostock\Schulve.,.csv" konnte nicht gefunden werden.
02.
In C:\Users\pvoelz\Desktop\TestZE.ps1:11 Zeichen:15
03.
+ ...  $dataset | export-csv -path "C:\Users\pvoelz\Desktop\Zahllisten\ZL\$ ...
04.
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
05.
    + CategoryInfo          : OpenError: (:) [Export-Csv], DirectoryNotFoundException
06.
    + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.ExportCsvCommand
Er macht in diesem Fall aus dem Slash ein Backslash.


Auch bekomme ich die Spalte "Betrag [€] auf/von Konto(Doppik)(...)" nicht raus gefiltert, was vermutlich an den Sonderzeichen liegen, die enthalten sind.
Bitte warten ..
Mitglied: erikro
07.10.2019 um 12:29 Uhr
Moin,

Zitat von Pat.bat:
Allerdings gibt es einen ZE-Name, der ein Slash (/) im Namen hat und das führt bei der Anweisung

01.
 $dataset | export-csv -path "C:\Users\pvoelz\Desktop\Zahllisten\ZL\$($dataset.'ZE-Name').csv" -Append -Delimiter ";" -Encoding UTF8 -NoTypeInformation -Force
dazu das er das als anderen Pfad ansieht und so die Fehlermeldung schmeißt, das dieser Pfad unbekannt ist.

Dann mit einer Regex am Besten gleich alle verbotenen Zeichen abfangen und durch z. B. Unterstrich ersetzen.
https://docs.microsoft.com/de-de/dotnet/standard/base-types/substitution ...
https://powershellexplained.com/2017-07-31-Powershell-regex-regular-expr ...

Auch bekomme ich die Spalte "Betrag [€] auf/von Konto(Doppik)(...)" nicht raus gefiltert, was vermutlich an den Sonderzeichen liegen, die enthalten sind.

Das sollte allerdings ohne Weiteres funktionieren. Tippfehler?

Liebe Grüße

Erik
Bitte warten ..
Mitglied: Pat.bat
07.10.2019 um 14:21 Uhr
Ich muss da leider nochmal umdenken, sodass xlsx Dateien dabei raus kommen. Grund, es ist eine Formatierung gewünscht, was leider nicht mit csv funktioniert.

Nun überlege ich, die CSV-Dateien trotzdem zu generieren und diese dann formatiert als xlsx abzuspeichern. Im nachhinein werden dann die csv wieder gelöscht.

Ist mit Sicherheit keine schöne Lösung, aber mir fällt da nichts besseres derzeit ein.
Bitte warten ..
Mitglied: erikro
07.10.2019 um 14:38 Uhr
Moin,

Zitat von Pat.bat:

Ich muss da leider nochmal umdenken, sodass xlsx Dateien dabei raus kommen. Grund, es ist eine Formatierung gewünscht, was leider nicht mit csv funktioniert.

Nun überlege ich, die CSV-Dateien trotzdem zu generieren und diese dann formatiert als xlsx abzuspeichern. Im nachhinein werden dann die csv wieder gelöscht.

Ist mit Sicherheit keine schöne Lösung, aber mir fällt da nichts besseres derzeit ein.

Wenn es denn eine Exceldatei als Ausgabe sein soll, dann guck Dir das mal an. Das macht das Leben mit Exceldateien unter PS sehr viel einfacher.
https://www.powershellgallery.com/packages/ImportExcel/5.4.0

Liebe Grüße

Erik
Bitte warten ..
Mitglied: Pat.bat
09.10.2019 um 14:24 Uhr
@erikro Noch eine Frage

In deinem Code-Beispiel, ist es dort auch möglich, eine Where-Abfrage einzubauen um zu sagen, welche Strings in Spalte ZE-Name er nur nehmen soll.

Damit möchte ich verhindern, das er Listen erstellt die gar nicht nötig wären.

Hatte mir das ungefähr so gedacht:

01.
((Get-Content "$PfadText") -replace '^\s+','' ) -replace ' *\t *',';' | convertfrom-csv -Delimiter ";" | select * -excludeproperty $arrCols | where {$_."ZE-Name" -Like "ANKER"} `
02.
export-csv -path $CSV -delimiter ";" -Encoding utf8 -NoTypeInformation

Anbei der Gesamtcode:

01.
param(
02.
    [string]$PfadText,
03.
    [string]$Speicherpfad
04.
)
05.

06.
$CSV = 'C:\Users\pvoelz\Desktop\Zahllisten\Zahlliste_NEU.csv' # in Temp Ordner generieren
07.
$arrCols = @("Buchungnummer", "angew.", "Abwahl")
08.
$arrNames = @("")
09.

10.
((Get-Content "$PfadText") -replace '^\s+','' ) -replace ' *\t *',';' | convertfrom-csv -Delimiter ";" | select * -excludeproperty $arrCols | where {$_."ZE-Name" -Like "ANKER"} `
11.
export-csv -path $CSV -delimiter ";" -Encoding utf8 -NoTypeInformation
12.

13.
$datasets = $(import-csv $csv -delimiter ";") 
14.
foreach($dataset in $datasets) {
15.

16.
    $dataset | export-csv -path "$Speicherpfad$($dataset.'ZE-Name').csv" -Append -Delimiter ";" -Encoding UTF8 -NoTypeInformation -Force
17.

18.
}

Vielen Dank im Voraus
Bitte warten ..
Mitglied: erikro
09.10.2019 um 14:38 Uhr
Moin,

Zitat von Pat.bat:
@erikro Noch eine Frage

In deinem Code-Beispiel, ist es dort auch möglich, eine Where-Abfrage einzubauen um zu sagen, welche Strings in Spalte ZE-Name er nur nehmen soll.
[...]
01.
((Get-Content "$PfadText") -replace '^\s+','' ) -replace ' *\t *',';' | convertfrom-csv -Delimiter ";" | select * -excludeproperty $arrCols | where {$_."ZE-Name" -Like "ANKER"} `
02.
> export-csv -path $CSV -delimiter ";" -Encoding utf8 -NoTypeInformation

Klar geht das und es ist auch fast richtig. Guck mal hier:
https://www.windowspro.de/script/vergleichsoperatoren-powershell-eq-lt-g ...
Insbesondere der Abschnitt über -like.

Außerdem fehlt noch die Pipe zwischen dem Ende von where und dem export-csv.

Liebe Grüße

Erik
Bitte warten ..
Mitglied: Pat.bat
09.10.2019, aktualisiert um 15:12 Uhr
@erikro Super, danke .

-Like scheint dann das falsche zu sein, da ich auch ein Array übergeben möchte (Einrichtungsnamen werden in eine xml gespeichert. das Skript soll sich diese ziehen und in ein Array speichern).

Dazu muss man nun -Contains verwenden, allerdings muss der String hier exakt sein. Schöner wäre es, wenn contains like funktionieren würde.

Ursache ist, das einige Einträge in der Spalte ZE-Name hinten aus mir unerklärlichen Gründen ein Komma haben. Man in der App, die die xml erstellt aber normalerweise nur den Namen eingibt, ohne Komma.

01.
ZE-Name
02.
Volkssolidarität KV Rostock-Stadt e.V., 
03.
Lebenshilfewerk Mölln-Hagenow gGmbH,
Leider kann ich Kommas nicht generell raus nehmen, da einige Einträge Kommas mitten im String haben, welcher da auch hingehört.

Gibt es da vll ein Workaround?
Bitte warten ..
Mitglied: erikro
09.10.2019 um 15:46 Uhr
Moin,

Zitat von Pat.bat:
-Like scheint dann das falsche zu sein, da ich auch ein Array übergeben möchte (Einrichtungsnamen werden in eine xml gespeichert. das Skript soll sich diese ziehen und in ein Array speichern).

Dochdoch, -like ist schon richtig. Es fehlen bloß die Wildcards.

01.
where-object {$_.ZE-Name -like "*ANKER*"}
Ursache ist, das einige Einträge in der Spalte ZE-Name hinten aus mir unerklärlichen Gründen ein Komma haben. Man in der App, die die xml erstellt aber normalerweise nur den Namen eingibt, ohne Komma.

01.
$_.ZE-Name.trimend(",")
entfernt diese störenden Kommata am Ende des Strings. Guckst Du hier:
https://blog.stefanrehwald.de/2013/03/03/powershell-03-2-strings-bearbei ...

hth

Erik
Bitte warten ..
Mitglied: Pat.bat
09.10.2019 um 16:14 Uhr
Moin,

also mit -like funktioniert es nicht, er kann wohl nichts mit arrays anfangen:

01.
$arrCols = @("Buchungnummer", "angew.", "Abwahl")
02.
$arrNames = @("*ANKER*", "*Kloster*")
03.

04.
((Get-Content "$PfadText") -replace '^\s+','' ) -replace ' *\t *',';' | `
05.
convertfrom-csv -Delimiter ";" | `
06.
select * -excludeproperty $arrCols | `
07.
where { $_."ZE-Name" -like $arrNames } |  `
08.
export-csv -path $CSV -delimiter ";" -Encoding utf8 -NoTypeInformation
Oder habe ich was übersehen?
Bitte warten ..
Mitglied: erikro
09.10.2019 um 16:23 Uhr
Moin,

Zitat von Pat.bat:
Oder habe ich was übersehen?

Ja, nämlich dass das so nicht in Deinem Code stand.

Guck mal hier: https://stackoverflow.com/questions/13019218/powershell-like-against-an- ...

So, nun ist Feierabend.

Liebe Grüße

Erik
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell excel
gelöst Frage von Crank69Batch & Shell6 Kommentare

Hallo Leute, ich habe in meinem Script leider 3 Probleme und hoffe das ihr mir helfen könnt. würde ich ...

Batch & Shell
Powershell für excel
gelöst Frage von Crank69Batch & Shell9 Kommentare

Hallo ich benötige hilfe bei Powershell leider bin ich noch neu im Programmieren und würde mich freuen wenn ihr ...

Batch & Shell
Excel mit Powershell formatieren
Frage von TastuserBatch & Shell13 Kommentare

Hallo, ist es möglich eine Excel-Datei mit Powershell zu formatieren? - Bestimmte Zellen bekommen eine bestimmte Größe - Bestimmte ...

Microsoft Office

Excel: Liste aus anderer Excel-Datei erstellen

gelöst Frage von honeybeeMicrosoft Office4 Kommentare

Hallo, kann man in Excel eine Dropdown-Liste (Datenüberprüfung) aus einer anderen Excel-Tabelle erstellen? Die Daten für die Liste befinden ...

Neue Wissensbeiträge
Linux Userverwaltung

Samba-ActiveDirectory mit FreeRADIUS, CheckMK, Nextcloud, OpenVPN, ProxmoxVE und mehr

Anleitung von BinaryBear vor 2 StundenLinux Userverwaltung

Ich habe die letzten Wochen (Monate) damit verbracht mit in das Thema ActiveDirectory und Samba einzuarbeiten. Dabei habe ich ...

Verschlüsselung & Zertifikate

Extended Validation Certificates are (Really, Really) Dead

Information von Dani vor 2 TagenVerschlüsselung & Zertifikate

Moin all, sehr interessanter Artikel zu EV SSL/TLS- Zertifikate von Troy Hunt: Gruß, Dani

Humor (lol)
Das IoT wird schlimmer
Erfahrungsbericht von Henere vor 5 TagenHumor (lol)8 Kommentare

Nun auch schon über den WSUS:

Sicherheit

Win10 1809 und höher erlauben nun das Sperren und Whitelisten von bestimmten Geräten

Tipp von DerWoWusste vor 5 TagenSicherheit1 Kommentar

Vor 1809 konnten nur Geräteklassen gesperrt werden, nun können endlich einzelne Device instance IDs gewhitelistet werden (oder andersherum: gesperrt ...

Heiß diskutierte Inhalte
Netzwerke
Suche schnelleren VPN-Router für IPSec-Verbindung und zusätzlichem S0-Port für TK-Anlage, um Fritzbox zu ersetzen
Frage von TomSEE01Netzwerke46 Kommentare

Hallo, ich bin neu hier im Forum. Und zwar hätte ich folgende Frage, ich benötige eine VPN-Server Fähige Firewall/Router, ...

Schulung & Training
Was sollte man im Helpdesk bzw Service Desk 1st Level wissen
Frage von loubertSchulung & Training28 Kommentare

Hallo zusammen, ich fange demnächst in einem IT-Systemhaus meinen neuen Job im IT-Helpdesk (UHD), 1st Level (für externe Kunden,) ...

Netzwerkmanagement
Netzwerksegmentierung eines 16bit Kundennetzes
Frage von Locke2016Netzwerkmanagement21 Kommentare

Hallo lieber IT Mitstreiter, ich habe folgendes Problem bei einem Kunden, der ein grosses /16 Netz hat und bei ...

Hosting & Housing
IPv4 Dienst im IPv6 Netzwerk
gelöst Frage von Jumper205Hosting & Housing19 Kommentare

Hallo Zusammen, ich benötige mal euer schwarm Wissen. Ich wurde vor einiger Zeit auf einen Deutsche Glasfaser Anschluss umgestellt. ...