Batch Datei mit bestimmter Endung suchen und den Namen davor auslesen

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

For is richtig ;)

@echo off

FOR %%q in (*.txt) do move V:\Testie\%%q V:\Testie\Ordner2\%%q

cmd /k

In dem Ordner indem die Textdateien liegen muss in diesem Fall auch die Batch liegen. Falls du die in einen andern Ordner stopfen willst musst du das so machen:

FOR %%q in (c:\test\lala\*.txt)

Das ganze funktioniert natürlich auch mit jeder anderen Dateiendung. Bei dem move Befehl ist der erste Pfad der Pfad indem die Textdateien noch() liegen und der zweite Pfad der Ordner inden verschoben wird.

In der Variable %%q stehen die ganzen Dateinamen, wenn du dir das also vor Augen führen willst machst einfach

echo %%q 

;)

WiFiFan 
Fragesteller
 18.04.2012, 19:33

Vielen Dank! Ich hab das mit dem FOR Befehl noch nicht ganz raus:)

0
RoXoNpRo500  18.04.2012, 20:07
@WiFiFan

auch erst seit kurzem ^^

Schau mal hier: http://www.antonis.de/dos/batchtut/bat-kurs/#12

Ich raffs auch erst seit diesem Tutorial :)

In Kurzfassung: Alle Werte werden in die Variable %%i zum Beispiel je nach dem eingelesen also quasi wie ein Array

Du movest dann alle dateien aus der Variable %%i und willst sie ja nich umbenennen sondern sie sollen ihren Namen behalten also pastest du sie auch wieder mit dem selben Dateinamen also eben wieder %%i

Villeicht bist der For-Schleife nu etwas näher ;p Die is eigentlich echt am praktischsten :)

0

Such nach dem FOR Befehl....

WiFiFan 
Fragesteller
 17.04.2012, 17:06

Ich weiss nicht ob man damit den Dateinamen herausfinden kann

0