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...
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...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 308968
Url: https://administrator.de/contentid/308968
Ausgedruckt am: 17.11.2024 um 17:11 Uhr
5 Kommentare
Neuester Kommentar
Use the search, this has already
been answered:
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens
Regards
been answered:
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens
Regards
$source = 'c:\source'
gci "$source\*.*" -recurse | group Basename | %{
$targetfolder = "$source\$($_.Name)"
if(!(Test-path $targetfolder)){md $targetfolder}
$_.Group | move-item -Destination $targetfolder -Force
}
Hi,
hier auf die schnelle und ins blaue
Console (cmd.exe) starten, einfügen und wenn alles gut aussieht, das echo entfernen und somit scharf stellen:
Nachtrag:
Hier als Batch:
Hoffe das passt so... Fehler gefixt ...
hier auf die schnelle und ins blaue
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
Hallo @vmihaylov,
Ist ein Zweizeiler:
Wie immer bei großen Dateioperationen: Davor ein Backup machen!
Gruß,
@Snowman25
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