[BATCH] Dateinamem kopieren und Ordner erstellen, dateien einsortieren

Mr.Donatti

Ensign
Registriert
Sep. 2014
Beiträge
139
Hallo,

habe folgendes Problem:

In meiner Firma teste ich unsere Geräte, dabei werden Prüfprotokolle erstellt, die die lauten SN76XXX.txt ; SN76XXX_ext.txt und SN76XXX.pdf.

Dann wird per Hand ein Ordner erstellt der lautet 76XXX worin dann diese Bericht abgespeichert werden.

Da dies aber immer recht langwierig und auf dauer auch recht nervend wird und ich mir das Leben auch ganz gerne einfacher mache, hatte ich mir überlegt eine batch zu erstellen die dies für mich erledigt, die im selben Hauptverzeichniss gespeichert wird.

Mein Hauptproblem ist jetzt jedoch wie kann ich den Dateinamen kopieren, diesen als zu erstellenden Ordnernamen verwenden und dann die Dateien in diesen Ordner dann verschieben?

Das ist was ich bisher habe:

Code:
@echo off
echo Verschiebe Fehlerprotokolle ...
move .\*failed* .\Fehler

echo Verschiebe Prüfprotokolle 7600 ...
move SN76????_ext.txt ..\76XXXX
move SN76????.txt ..\76XXXX
move SN76????_ext.pdf ..\76XXXX
move SN76????.pdf ..\76XXXX

pause

Für den Ordnernamen müsste ich wohl eine Variable erstellen und ihn dort ablegen und dann die Variable in 76XXXx einfügen?

Bin leider nicht so ganz darin bewandert. :rolleyes:

Vielen Dank schon mal für eure Hilfe.

MfG

Rikscha
 
Zuletzt bearbeitet:
Code:
@echo off
setlocal enabledelayedexpansion

for /f "delims=" %%f in ('dir /B SN86????*') do (
	set file=%%f
	set part=!file:~0,8!
	set dirname=./!part!/

	if not exist "!dirname!" mkdir "!dirname!"

	move "%%f" "!dirname!"
)
Ungetestet.
 
Yuuri schrieb:
Code:
@echo off
setlocal enabledelayedexpansion

for /f "delims=" %%f in ('dir /B SN86????*') do (
	set file=%%f
	set part=!file:~0,8!
	set dirname=./!part!/

	if not exist "!dirname!" mkdir "!dirname!"

	move "%%f" "!dirname!"
)
Ungetestet.

Läuft!
hab das do entfernt
Vielen Dank!!!

:hammer_alt::hammer_alt:
 

Anhänge

  • 76.PNG
    76.PNG
    40 KB · Aufrufe: 222
Zuletzt bearbeitet:
Zurück
Oben