vmihaylov
Goto Top

Verschieben von Dateien in zugehörige Ordner

Hallo allerseits!

Ich habe in einem Ordner sehr viele Dateien mit Artikelnummern als Namen (z.B. 123456.tiff, 123456.jpg, 215456.jpg,215456,tiff,...), die ich auf eigene Ordner verteilen möchte, also aus "D:/123456.jpg" sollte "E:/123456/123456.jpg" werden. Jeder Artikel sollte also einen eigenen Ordner mit der selben Nummer bekommen. Zwei gleiche Nummern, die verschiedene Formate haben, sollten beide in den selben Ordner kommen. Wäre nett, wenn mir jemand helfen könnte.

Vielen Dank im Voraus!

p.s. Ich habe keine Ahnung von Batch Dateien.
Könnte mir das einer genauer erklären...

Content-ID: 308968

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

Ausgedruckt am: 17.11.2024 um 17:11 Uhr

129813
129813 05.07.2016 aktualisiert um 15:22:10 Uhr
Goto Top
Use the search, this has already
been answered:
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens

Regards
vmihaylov
vmihaylov 05.07.2016 um 15:30:08 Uhr
Goto Top
Ich verstehe leider gar nichts.

Können Sie mir das bitte Schritt für Schritt für meinen Fall erklären ?

Danke schön!
129813
129813 05.07.2016 um 15:41:32 Uhr
Goto Top
$source = 'c:\source'  
gci "$source\*.*" -recurse | group Basename | %{  
    $targetfolder = "$source\$($_.Name)"  
    if(!(Test-path $targetfolder)){md $targetfolder}
    $_.Group | move-item -Destination $targetfolder -Force
}
batchnewbie
batchnewbie 05.07.2016 aktualisiert um 17:48:45 Uhr
Goto Top
Hi,
hier auf die schnelle und ins blaue face-smile
Console (cmd.exe) starten, einfügen und wenn alles gut aussieht, das echo entfernen und somit scharf stellen:
for /f "delims=" %i in ('dir /b /a-d "d:\*.jpg" "d:\*.tiff"') do echo md e:\%~ni & echo move %i e:\%~ni  

Nachtrag:
Hier als Batch:
@echo off
cls
set "Verzeichnis=d:\"  
set "Typ=*.jpg" "*.tiff"  
set "Ziel=e:\"  

pushd %Verzeichnis% || goto :eof
for /f "delims=" %%i in ('dir /b /a-d "%Typ%"') do (  
    echo md "%Ziel%%%~ni" 2>nul  
    echo move %%i %Ziel%%%~ni
)
popd
pause
Hoffe das passt so... Fehler gefixt ... face-smile
Snowman25
Snowman25 05.07.2016 um 16:03:15 Uhr
Goto Top
Hallo @vmihaylov,

Ist ein Zweizeiler:
cd Verzeichnis
forfiles /M *.* /C "cmd /c mkdir @fname"  
forfiles /M *.* /C "cmd /c move @path @fname\@file"  

Wie immer bei großen Dateioperationen: Davor ein Backup machen!

Gruß,
@Snowman25