dir|sort /+14 vor rename?
-
Konsolenprogrammierung != Batchprogrammierung. Verschoben nach Themen rund um den PC.
MfG SideWinder
-
Dieser Thread wurde von Moderator/in SideWinder aus dem Forum DOS und Win32-Konsole in das Forum Themen rund um den PC verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Morgen,
Aber die bat benennt nicht mer um, und so ordnet sie nicht nach kb :
Hmm, ich dachte das sei offensichtlich.
Ersetze halt einfach mal echo durch rename.
cu, Bernd
@echo off setlocal EnableDelayedExpansion set /a x=1000 for /F %%i in ('dir /b /O-s *.txt') do Set /a "x+=1">nul & rename %%i !x:~-3!%%~xi endlocal
-
mahlzeit,
hab ich schon getestet, ka warums nicht geht.
Die bat macht dann garnix mer.
-
Nochmals Hallo,
nimm mal zusätzlich einen
setlocal EnableExtensions
hinzu.
Wenn das nicht aktiv war, hättest Du M.E. aber eine Fehlermeldung erhalten müssen:
"/F" ist syntaktisch an dieser Stelle nicht verarbeitbar.
Du startest das zum Testen schon von einer Kommandozeile aus, oder ??
cu, Bernd
@echo off setlocal EnableExtensions setlocal EnableDelayedExpansion set /a x=1000 for /F %%i in ('dir /b /O-s *.txt') do Set /a "x+=1">nul & rename %%i !x:~-3!%%~xi endlocal
-
Hallo, vielen Dank hat geklappt.
[ZITAT]Du startest das zum Testen schon von einer Kommandozeile aus, oder ??[/ZITAT]
Nein, aber die Fehlermeldung müsste doch trotzdem erschienen sein?!Ich hätte da aber nur nochmal eine Frage.
Bei :
ren ???*.txt ???zzz*.*
Wenn ich die Zeichen vertausche(abc001.txt) wird nur 1 Datei umbenannt und so(001abc) alle.
Gibt es eine Möglichkeit wie man alle mit den Bustaben am angefangend umbenennt?
-
Morgen,
Bitteschön.
Nein, aber die Fehlermeldung müsste doch trotzdem erschienen sein
Nicht, wenn die 'DOS'-Box am Ende automatisch geschlossen wird. Füge vielleicht am Ende dann (zum Testen) einfach einen PAUSE Befehl hinzu.
cmd kennt M.E. nur die Platzhalterzeichen * und ?, Du kannst also nicht so ohne weiteres nach Buchstaben am Anfang suchen.
Und, ich verstehe Deine Anfrage nicht, bringe mal ein paar Beispiele.
cu, Bernd
-
Morgen,
ich wollt das am Ende :@echo off setlocal EnableExtensions setlocal EnableDelayedExpansion set /a x=1000 for /F %%i in ('dir /b /O-s *.txt') do Set /a "x+=1">nul & rename %%i !x:~-3!%%~xi endlocal ren ???*.txt ???zzz*.*
nach dem umbenennen, die Buchstaben vorn stehen.
Also umgekehrt, hat aber nur immer mit einer einzelnen Datei funktioniert.
-
Hi,
welche Buchstaben denn, nach dem rename hast Du doch nur noch Zahlen ?
001.txt
002.txt
...Und, hast Du vielleicht irgendwas auf Deiner Platte installiert, dass Suchen&Ersetzen mit regulären Ausdrücken auf der Kommandozeile ermöglicht (sed, awk, perl, ..., oder auch 4nt, vim oder zur Not auch einen wsh mit vbscript) ?
Damit würde man sich vermutlich leichter tun als mit einem cmd.exe ...
cu, Bernd
-
Uhrsprünglich hab ich den Code so gefunden. :
@echo off & setlocal EnableDelayedExpansion @set /a x=1000 && for %%i in (*.txt) do @Set /a "x+=1">nul & rename %%i Text-!x:~-3!%%~xi
Nur wenn ich an dem jetzigen noch ein Name davor schreibe passiert nichts mer.
Dashalb hab ich das so wie oben steht mit ren ???.txt ???zzz.* probiert.
Andersrum hab ich es schon mit ren ???.... hinbekommen, aber nicht das der Text am Anfang steht.Also z.B. als Resultat :
Text-001.txt (38 kb)
Text-002.txt (15 kb)
Text-003.txt (7 kb)Sed, awk, perl, ... sind das Erweiterungen für eine C++-IDE?
-
Hi,
sowas sollte doch tun?
@echo off setlocal EnableExtensions setlocal EnableDelayedExpansion set /a x=1000 for /F %%i in ('dir /b /O-s *.txt') do Set /a "x+=1">nul & rename %%i Test-!x:~-3!%%~xi endlocal
Schreibe doch einfach einen ECHO vor das wirkliche Kommando und schaue Dir in aller Ruhe in einer Kommandozeile an, was denn passieren würde.
Sed, awk, perl, ... sind das Erweiterungen für eine C++-IDE?
Die findest Du alle im Wikipedia.
http://de.wikipedia.org/wiki/Sed_(Unix)
cu, Bernd
-
Komisch jetzt hats funktioniert.
Die findest Du alle im Wikipedia.
Werd ich mir durchlsen.
Danke nochmal!
cu