Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

mit batch alle dateien in text1 text2...umbenennen

Frage Microsoft

Mitglied: 77522

77522 (Level 1)

10.04.2009, aktualisiert 18:52 Uhr, 4711 Aufrufe, 2 Kommentare

ich habe es schon gegoogelt doch nicht verstanden

ich will mit batch alle txt dateien in text1 text2...umbenennen
doch bei mir ändert es nur eine datei

mein befehl lautet:
for /l %%a in (1 1 20) do ren "*.txt" "text%%a"

doch das funktioniert nicht
kann mir jemand helfen

schonmal danke in vorraus
Mitglied: bastla
10.04.2009 um 20:37 Uhr
Hallo collmaster59 und willkommen im Forum!

Das sollte etwa so gehen:
01.
@echo off & setlocal 
02.
set "Ordner=D:\Dein Ordner mit vielen Textdateien" 
03.
set "AltTyp=txt" 
04.
 
05.
set "NeuName=text" 
06.
set "NeuTyp=txt" 
07.
 
08.
set /a Nr=1000000 
09.
for /f "delims=" %%i in ('dir /b /od "%Ordner%\*.%AltTyp%"') do call :ProcessFile "%Ordner%\%%i" 
10.
pause 
11.
goto :eof 
12.
 
13.
:ProcessFile 
14.
set /a Nr+=1 
15.
set "N=%NeuName%%Nr:~-3%.%NeuTyp%" 
16.
if exist "%Ordner%\%N%" goto :ProcessFile 
17.
echo ren %1 "%N%" 
18.
goto :eof
Der Ansatz ist etwas allgemeiner formuliert (sodass er zB auch für andere Dateitypen verwendet werden könnte) und berücksichtig auch, dass ev eine gleichnamige Datei (zB "text003.txt") schon vorhanden sein könnte - es wird dann einfach die Nummer so lange hochgezählt, bis es keine Kollision mehr gibt.

Unter der Annahme, dass ev auch eine bestimmte Reihenfolge der Dateien sinnvoll wäre, werden die vorhandenen Textdateien nach Änderungsdatum (siehe "dir /?" und dort "/od") geordnet verarbeitet.

Außerdem ist es mE sinnvoll, für eine einheitliche Länge des Dateinamens zu sorgen und daher führende Nullen zu verwenden - im Beispiel sind (siehe "3" in Zeile 15) alle Nummern dreistellig. Dies wird erreicht, indem die letzten 3 Stellen der Variablen %Nr% verwendet werden (siehe dazu "set /?") - bei einem aktuellen Wert von "1000004" ergibt sich dann eben "004". Wenn übrigens nicht mehr als 3 Stellen benötigt werden, könnte der Startwert für die Variable anstelle von "1000000" auch einfach "1000" lauten ...

Es wird, wegen des "echo" vor dem "ren" in Zeile 17, zu Testzwecken zunächst nur der Umbenennungsbefehl angezeigt, der Name aber noch nicht geändert - wenn das Ergebnis vernünftig aussieht, einfach dieses "echo" (und auch die dann unnötige "pause") entfernen und den Batch auf die Textdateien loslassen ...

Grüße
bastla
Bitte warten ..
Mitglied: 77522
10.04.2009 um 21:14 Uhr
wow
super danke
du kennst divh gut mit batch aus
ich habe echo entfernt und die batch gespeichert
und es hat super funktioniert
danke: )
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch Datei: PDF Dateien verschieben, umbenennen und löschen (4)

Frage von F0rcehunter zum Thema Batch & Shell ...

Batch & Shell
gelöst Alle Dateien in einem Ordner umbenennen (5)

Frage von l.scheper zum Thema Batch & Shell ...

Batch & Shell
Umbenennen entpackter Dateien nach Dateinamen der rar- zip-Datei

Frage von windows-nutzer zum Thema Batch & Shell ...

Viren und Trojaner
WannaCry - wiederhergestellte Dateien umbenennen (7)

Frage von MasterPhil zum Thema Viren und Trojaner ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (22)

Frage von NoHopeNoFear zum Thema LAN, WAN, Wireless ...

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Windows Server
gelöst Parameter Übergabe Terminal Server (9)

Frage von ThomasKern zum Thema Windows Server ...

Batch & Shell
Anfängerfragen - Powershell - Mailboxvertretung im Pulk einrichten (8)

Frage von Yoshimitsu zum Thema Batch & Shell ...