tob1as
Goto Top

Batch Datei um Dateien umzubennen, die in mehreren Subfolder liegen

Hallo zusammen

Ich suchte bereits im Forum und bei Google/yahoo nach einer Lösung, doch kam trotzt einiger Beispiele nicht zu einer Lösung meines Problems.

Ich habe einen Ordner mit mehreren Subfolder bei welchem es für jeden Tag automatisch einen neuen Subfolder erstellt. In diesen Unterordner hat es Dateien mit der Struktur H.20070723.OK . Die Zahl wechselt natürlich immer.

Ich muss diese Daten automatisch in Access einlesen und benötige hierfür die Endung .txt (bei welcher es problemlos funktioniert).

Wäre super wenn mir jemand helfen könnte die Batch-Datei zu erstellen, die automatisch alle Subfolder abcheckt!

Herzlichen Dank und freundliche Grüsse

tob1as

Content-Key: 70431

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

Ausgedruckt am: 19.03.2024 um 10:03 Uhr

Mitglied: Biber
Biber 09.10.2007 um 08:18:22 Uhr
Goto Top
Moin tob1as,

vom CMD-Prompt:
>for /r "X:\RootFolder" %i in (*.ok) do @rename %i %~ni.txt  

Im Batch jeweils zwei Prozentzeichen vor den dynamischen Variablen.

Ich verschiebe Deine Frage von "Windows" nach "Batch & Shell".
Dort hättest Du auch ähnliche Beiträge finden können.

Grüße
Biber
Mitglied: tob1as
tob1as 09.10.2007 um 08:29:54 Uhr
Goto Top
Hallo Biber
Danke für deine Hilfe! Leider funktioniert es noch nicht wirklich. Was muss ich ausser dem Ordner noch anpassen? Ich habe mit Batch Files noch nicht so wirklich zu tun.

Danke für deine Hilfsbereitschaft und deine Geduld!

MFG Tobias
Mitglied: Biber
Biber 09.10.2007 um 08:44:48 Uhr
Goto Top
Moin tob1as,

dann bitte konkreter werden:
  • wie heißt Dein Ordner?
  • wie sieht Dein angepasster Einzeiler aus?
  • was funktioniert nicht (Fehlermeldung)?

Hilfreich wäre, wenn Du die "angepasste" Zeile nochmals anpasst und zum Testen vor dem "rename" ein "Echo" einfügst. Dann können wir gefahrlos spielen.
for /r "X:\RootFolder" %i in (*.ok) do @ECHO rename %i %~ni.txt  

Bitte die Ausgabe dieser (modifizierten) vom CMD-Prompt abgefeuerten Zeile posten.

Gruß
Biber
Mitglied: tob1as
tob1as 09.10.2007 um 08:51:40 Uhr
Goto Top
Hallo

@ECHO rename %i %~ni.txt
Das ist der einzige Teil der noch nicht funktioniert.
Hab es in der Kommandozeile probiert, und es listet alle Dateien korrekt auf, doch leider ändert der Code die Filenamen noch nicht!

for /r "D:\WORK\Rechnungstool\Daten" %i in (*.ok) do @ECHO rename %i %~ni.txt  

Das ist der Code welchen ich eingegeben habe.

Merci für deine Hilfe!
Mitglied: Biber
Biber 09.10.2007 um 23:39:49 Uhr
Goto Top
Moin tob1as,

ich hoffe, ich habe es jetzt richtig verstanden....
Wenn jetzt das Richtige angezeigt, aber nichts geändert wird, dann ist alles okay.

Dann kannst Du die Zeile oben einfach ohne das Wort "echo" von CMD-Prompt abschicken.
Oder als Mini-Batch irgendwo speichern: dann aber jeweils zwei Prozentzeichen ("%%i") statt einem ("%i") verwenden.

Am CMD-Prompt eingeben:
for /r "D:\WORK\Rechnungstool\Daten" %i in (*.ok) do @rename %i %~ni.txt  
-oder als Batch-
::------snipp OK2Txt.bat
@for /r "D:\WORK\Rechnungstool\Daten" %%i in (*.ok) do @rename "%%i" "%%~ni.txt"  

Grüße
Biber
Mitglied: tob1as
tob1as 10.10.2007 um 08:04:02 Uhr
Goto Top
Danke vielmals, funktioniert perfekt!