Powershell Master Frage?

3 Antworten

Von Experte Erzesel bestätigt

Das ist doch fast dasselbe, wie die letzte Frage, wo du die einzelnen .jpgs löschen wolltest.

cd C:\temp\bla # In den Ordner gehen, der durchsucht werden soll
$pngs = dir "*.png" # Alle png-Dateien in die Variable $pngs speichern
$einsamePngs = $pngs |?{!(Test-Path "$($_.BaseName).jpg")} # Alle pngs ohne passende jpg in $einsamePngs speichern

Das ist nicht sonderlich schwer.

Du brauchst get-childitems + die String-Vergleichsoperatoren:

https://www.windowspro.de/script/vergleichsoperatoren-powershell-eq-lt-gt-contains-match

Dann machst du eine foreach Schleife und machst da drinnen wieder einen Vergleich - fertig

Woher ich das weiß:Berufserfahrung – arbeite seit vielen Jahren in der IT
Lukmon22 
Fragesteller
 29.10.2021, 10:41

Weiß leider nicht wie ich vorgehen soll :(

0
Lukmon22 
Fragesteller
 29.10.2021, 10:42
@TheFamousSpy

Könntest du das Skript bei Powershell schreiben und reinschicken ?

Kostet dich zwar etwas Arbeit aber würde mir extrem helfen

0
Lukmon22 
Fragesteller
 29.10.2021, 10:54
@TheFamousSpy

Denke die foreach schleife habe ich soweit, aber den anfang verstehe ich nicht ganz

0
$PngFiles = @(Get-ChildItem -Path 'C:\deinPfad\*.png');

foreach($file in $PngFiles){
    $jpgString = -join("C:\deinPfad\",$file.BaseName,".jpg");
    if (Test-Path $newStr -PathType leaf)
    {
        Write-Host 'Datei: '$file.Name'exsistiert auch als jpg.'
    }
}
Woher ich das weiß:Studium / Ausbildung – Informatikstudent
Lukmon22 
Fragesteller
 29.10.2021, 11:00

klappt leider nicht

1