Dateien in einem Ordner Suchen, Umbenennen und Entpacken.
Hallo Leute,
Ich möchte Archive in einem Ordner suchen, deren Namen nach einem Bestimmten Schema ändern, und dann Danach in einen anderen Ordner enpacken. Habe aber absolut keine ahnung, wie ich das machen soll.
Also, mal schritt für schritt.
--> Umbenennen:
Die Archive haben alle unterscheidliche Namen, Unterschiedlich lang, und der Bereich, den ich Ändern möchte ist auch meist unterschiedlich lange, aber Klar definiert durch "[ ]".
Beispiele.:
Datei1: [Kurzername] Name.rar
Datei2: [Ich bin ein Langer Name] Habe auch noch nen Längeren Text hier.rar
Datei3: [Ich bin ein Nerfiger ( Name ) mit anderen -- Zeichen] Aber ansonsten Kurz.rar
Und möchte nun mal hierbei das in den Eckigen Klammern Weg haben.
--> Entpacken:
Ich nehme meist rar, kann aber auch gerene ein anderes Brogramm nutzen, dass rar archive entpacken kann.
Nun, das Entpacken soll von dem Ordner "C:\Downloads\Mangas\" in dem die Archive und der Batch ist, in ein anderen Ordner "F:\Mangas\<Datum>\<Archivname>\" entpackt werden.
Freue mich über Zahlreiche Hilfe.
Mfg NopiSoul
P.S.: Wenn das nicht über Batch geht, wie bekomm ich es dann gebacken?
_________________________________________________________________
Lösung:
Ich möchte Archive in einem Ordner suchen, deren Namen nach einem Bestimmten Schema ändern, und dann Danach in einen anderen Ordner enpacken. Habe aber absolut keine ahnung, wie ich das machen soll.
Also, mal schritt für schritt.
--> Umbenennen:
Die Archive haben alle unterscheidliche Namen, Unterschiedlich lang, und der Bereich, den ich Ändern möchte ist auch meist unterschiedlich lange, aber Klar definiert durch "[ ]".
Beispiele.:
Datei1: [Kurzername] Name.rar
Datei2: [Ich bin ein Langer Name] Habe auch noch nen Längeren Text hier.rar
Datei3: [Ich bin ein Nerfiger ( Name ) mit anderen -- Zeichen] Aber ansonsten Kurz.rar
Und möchte nun mal hierbei das in den Eckigen Klammern Weg haben.
--> Entpacken:
Ich nehme meist rar, kann aber auch gerene ein anderes Brogramm nutzen, dass rar archive entpacken kann.
Nun, das Entpacken soll von dem Ordner "C:\Downloads\Mangas\" in dem die Archive und der Batch ist, in ein anderen Ordner "F:\Mangas\<Datum>\<Archivname>\" entpackt werden.
Freue mich über Zahlreiche Hilfe.
Mfg NopiSoul
P.S.: Wenn das nicht über Batch geht, wie bekomm ich es dann gebacken?
_________________________________________________________________
Lösung:
$pathArchives = "D:\Users\Roman\Downloads\Manga"
$pathExtract = "F:\Manga"
$pathRAR = "C:\Program Files\WinRAR\Rar.exe"
$pathZip = "C:\Program Files\7-Zip\7z.exe"
dir $pathArchives -Filter "*.rar" | rename-item -NewName {($_.Name -replace '\[.*?\]','').Trim()} -Force -PassThru | %{$newFolder = $pathExtract+"\"+(get-date -Format 'dd.MM.yyyy')+"\"+$_.Basename+"\"; if(!(Test-Path $newFolder)){md $newFolder -Force}; start-process $pathRAR -ArgumentList "x ""$($_.FullName)"" * ""$newFolder""" -Wait -WindowStyle Hidden}
dir $pathArchives -Filter "*.zip" | rename-item -NewName {($_.Name -replace '\[.*?\]','').Trim()} -Force -PassThru | %{$newFolder = $pathExtract+"\"+(get-date -Format 'dd.MM.yyyy')+"\"+$_.Basename+"\"; if(!(Test-Path $newFolder)){md $newFolder -Force}; start-process $pathZip -ArgumentList "x ""$($_.FullName)"" ""-o$newFolder""" -Wait -WindowStyle Hidden}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 241607
Url: https://administrator.de/forum/dateien-in-einem-ordner-suchen-umbenennen-und-entpacken-241607.html
Ausgedruckt am: 25.04.2025 um 14:04 Uhr
20 Kommentare
Neuester Kommentar
Hallo NopiSoul,
wenn dir Powershell nichts ausmacht, z.B. so (mit Verwendung des Kommandozeilenprogramms rar):
Grüße Uwe
p.s. mit Batch geht das auch, aber darauf hab ich grad kein Bock
wenn dir Powershell nichts ausmacht, z.B. so (mit Verwendung des Kommandozeilenprogramms rar):
$pathArchives = "C:\Downloads\Mangas"
$pathExtract = "F:\Mangas"
$pathRAR = "C:\Program Files\WinRAR\Rar.exe"
dir $pathArchives -Filter "*.rar" | rename-item -NewName {($_.Name -replace '\[.*?\]','').Trim()} -Force -PassThru | %{$newFolder = $pathExtract+"\"+(get-date -Format 'dd.MM.yyyy')+"\"+$_.Basename+"\"; if(!(Test-Path $newFolder)){md $newFolder -Force}; start-process $pathRAR -ArgumentList "e ""$($_.FullName)"" * ""$newFolder""" -Wait -WindowStyle Hidden}
p.s. mit Batch geht das auch, aber darauf hab ich grad kein Bock
falsch verstanden, macht nur alles innerhalb und inklusive der weg
Anleitung: Wie starte ich Powershell-Scripte
- Zuerst speicherst man den Code in einer Textdatei mit der Endung .ps1.
- Wenn man zum ersten mal Powershell-Scripte ausführt, musst man einmalig vorher noch das Ausführen von Scripten im User-Account freischalten. Dazu öffnet man eine Powershell-Konsole und gibt dort den Befehl
Set-ExecutionPolicy RemoteSigned -Force
ein. Um diese Policy für alle User auf dem Rechner zu setzen muss man diesen Befehl in einer Powershell-Konsole mit Admin-Rechten starten. Noch ein Hinweis für 64-Bit-Systeme: Hier sollte sowohl für die 32bit und 64Bit Variante der Powershell die Policy in einer Admin-Konsole gesetzt werden:Set-ExecutionPolicy RemoteSigned -Force; start-job { Set-ExecutionPolicy RemoteSigned -Force } -RunAs32
- Jetzt kann das Powershell-Script in der Konsole mit Eingabe des Pfades der Scriptdatei, oder mit einem Rechtsklick auf die Script-Datei :Mit Powershell ausführen gestartet werden.
das sind die typischen Powershell-Anfängerfehler. Öffne eine Powershell-Konsole und überprüfe dort nochmal mit
Pfade hast du hoffentlich im Script entsprechend angepasst. Geht hier ansonsten einwandfrei !
Get-ExecutionPolicy
ob die Policy tatsächlich geändert wurde ... Wenn nicht nochmal Set-ExecutionPolicy RemoteSigned
eingeben und dann das Script mit Eingabe des kompletten Pfades ausführen.Pfade hast du hoffentlich im Script entsprechend angepasst. Geht hier ansonsten einwandfrei !
das Script gibt keine Ausgabe aus, das läuft im Hintergrund ab. Vermutlich hast du den Pfaden einen Backslash am Ende hinzugefügt, das darfst du hier nicht machen!
Bei meinen Tests habe ich die Original Konsolenversion des Programms WinRAR benutzt, die Syntax gilt hier also fûr diese Version!
Läuft hier wie gesagt einwandfrei, ich mach das ja nicht zum ersten mal wie du meinem Profil entnehmen kannst - irgendwas machst du hier sonst noch falsch...oder du hast eine vollkommen veraltete PS-Version, OS ?
Bei meinen Tests habe ich die Original Konsolenversion des Programms WinRAR benutzt, die Syntax gilt hier also fûr diese Version!
Läuft hier wie gesagt einwandfrei, ich mach das ja nicht zum ersten mal wie du meinem Profil entnehmen kannst - irgendwas machst du hier sonst noch falsch...oder du hast eine vollkommen veraltete PS-Version, OS ?
Was für eine rar.exe verwendest du, Pfad zu dieser korrekt angepasst? Ich habe oben geschrieben das die Syntax für die originale RAR-Konsolenversion von WinRAR angepasst ist !
Bei dieser sieht die Syntax zum extrahieren wie folgt aus:
Und damit läuft es hier einwandfrei!
Bei dieser sieht die Syntax zum extrahieren wie folgt aus:
rar.exe e "[PFAD ZUR RAR-DATEI]" * "[ZIELORDNER]"
Zitat von @NopiSoul:
Ich habe keine Gekaufte WinRar Version, sondern nutze eine Testversion, kann es daran liegen?
jaIch habe keine Gekaufte WinRar Version, sondern nutze eine Testversion, kann es daran liegen?