gurkenhobel
Goto Top

Dateien nach Namen in den gleichnamigen Ordner verschieben

Bisher habe ich mit einer simplen Batchdatei meine Galeriebilder sortiert, d.h. in entsprechende Ordner verschoben:
MD 4193
MD 4072
MD 4184
MOVE /Y 4193*.jpg 4193
MOVE /Y 4072*.jpg 4072
MOVE /Y 4184*.jpg 4184
Dabei musste ich aber jedesmal den Ordner durchscrollen und mir die ersten vier Buchstaben der Dateinamen in eine Batch-Datei schreiben. Bei über 1.000 Dateien täglich eine etwas mühevolle Arbeit.

Gibt es keine Möglichkeit, dies mit einem Batchprogramm oder VBS zu erledigen?

Für eine Lösung wäre ich sehr dankbar, GH

Content-ID: 7859034859

Url: https://administrator.de/contentid/7859034859

Ausgedruckt am: 26.11.2024 um 10:11 Uhr

7426148943
Lösung 7426148943 15.07.2023 aktualisiert um 11:49:30 Uhr
Goto Top
Zur Netiquette hat's wohl auch wieder nicht gereicht ... 😐
Suchfunktion wieder kaputt? Findest du hier hunderte Einträge zum Thema
Batch
@echo off &setlocal enabledelayedexpansion
set "quelle=d:\ordner"  
for %%a in ("%quelle%\*.jpg") do (  
    set "name=%%~na"  
    set "prefix=!name:~0,4!"  
    if not exist "%quelle%\!prefix!" md "%quelle%\!prefix!" >nul  
    move "%%a" "%quelle%\!prefix!\"  
)
PowerShell
$quelle = "d:\ordner"  
Get-ChildItem $quelle -File -Filter *.jpg | move-item -Destination {(md "$quelle\$($_.Name.Substring(0,4))" -Force).Fullname} -verbose  
Zeppel
Gurkenhobel
Lösung Gurkenhobel 15.07.2023 um 12:04:48 Uhr
Goto Top
Hallo,
danke für Deine prompte Hilfe. Habe das Batch etwas spezifiziert, damit ich es immer aus dem aktuellen Ordner starten kann:
@echo off &setlocal enabledelayedexpansion

for %%a in (".\*.jpg") do (    
    set "name=%%~na"    
    set "prefix=!name:~0,4!"    
    if not exist ".\!prefix!" md "%quelle%\!prefix!" >nul    
    move "%%a" ".\!prefix!\"    
)

Vielen Dank und ein schönes Wochende
Gurkenhobel
TwistedAir
TwistedAir 15.07.2023 um 23:29:46 Uhr
Goto Top
Moin,

kleiner Hinweis: in Zeile 6 verwendest du in deiner angepassten Batch die Variable %quelle%, die aber bis dahin nicht definiert wurde. Solltest du noch korrigieren. face-wink

Gruß
TA
Gurkenhobel
Lösung Gurkenhobel 16.07.2023 um 10:43:17 Uhr
Goto Top
Zitat von @TwistedAir:

Moin,

kleiner Hinweis: in Zeile 6 verwendest du in deiner angepassten Batch die Variable %quelle%, die aber bis dahin nicht definiert wurde. Solltest du noch korrigieren. face-wink

Gruß
TA

Hallo, danke für den Hinweis, die "zweite Quelle" habe ich glattweg übersehen.
Einen schönen Sontag noch, GH