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

Umbenennung von sehr vielen Dateien per Batch? (Verzeichnisname als Dateiname und durchnummeriert)

Frage Entwicklung Batch & Shell

Mitglied: xercxes

xercxes (Level 1) - Jetzt verbinden

23.10.2008, aktualisiert 17.10.2012, 4169 Aufrufe, 2 Kommentare

Hallo. Habe diesen Beitrag http://www.administrator.de/frage/datei-mit-ordnernamen-umbenennen%2c-a ... per google gefunden und find es klasse. Auch wenn ich keinen plan von programmieren habe, hoffe ich das ich vielleicht eine lösung bekomme.

Habe mir mal diesen Thread durchgelesen und denke das diese Batch-Datei:
01.
@echo off 
02.
FOR /F "delims=" %%i in ('dir /B /AD') do ( 
03.
FOR /F "delims=" %%j in ('dir "%%i" /B /A-D') do copy /-Y "%%i\%%j" "%%i%%~xj" 
04.
rd /s /q "%%i" 
05.
)
für mich teilweise in Frage kommt. Habe es auch ausprobiert, aber es sind 2 Dinge die anders sein müssten.
Ist es möglich 2 kleine Veränderungen daran vorzunehmen?

Ich hab folgendes Problem:

Momentan habe ich, aufgrund eines Lehrgangs, sehr viel zu scannen. Ich mache das mit einem Canon-Scanner und Patchseiten. Dadurch wird immer wieder ein neuer Ordner erstellt sobald eine dieser Seiten kommt. Und mir fehlt einfach die nötige Zeit meine Dateien ordentlich umzubenennen.

Beispiel:
Laufwerk: C:
Ordner: XYZ
Unterordner: AAA bis ZZZ (Anzahl variiert)
Datei im Unterordner: xxxxx.jpg (Anzahl variiert)

Die neue Datei im Unterordner sollte nach der Umbenennung wie folgt aussehen: AAA.jpg (Name des Unterordners+Nr.)

In jedem Ordner sollen die *.jpg Dateien immer wieder ab 0001 durchnummeriert werden. Und die Endung *.jpg soll auch beibehalten werden.

Und die umgenannten Dateien sollen auch nicht in ein anderes Verzeichnis kopiert werden, sonder da bleiben wo sie sind.

Vielen Dank schon mal im Voraus.

Gruß xercxes
Mitglied: bastla
23.10.2008 um 21:58 Uhr
Hallo xercxes und willkommen im Forum!

Das könnte etwa so gehen:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "Basis=C:\XYZ" 
03.
 
04.
for /d %%v in ("%Basis%\*.*") do ( 
05.
    set "Letzte=10000" 
06.
    for /f "delims=" %%i in ('dir /b /on "%%v\%%~nxv*.jpg" 2^>nul') do set "Letzte=%%~ni" 
07.
    set /a Nr=1!Letzte:~-4! 
08.
    for /f "delims=" %%d in ('dir /b /od "%%v\*.jpg" 2^>nul^|findstr /v /b "%%~nxv"') do (set /a Nr+=1 & echo ren "%%v\%%d" "%%~nxv!Nr:~-4!%%~xd") 
09.
)
Die Vorgangsweise für die Nummerierung sieht dabei so aus, dass zunächst die höchste bereits vorhandene Nummer jedes Ordners ermittelt wird und die neuen Dateien (deren Name also noch nicht mit dem Ordnernamen beginnt) chronologisch geordnet (nach Änderungsdatum) mit der nächsthöheren Nummer beginnend umbenannt werden.

Wegen des "echo" vor dem "ren" in Zeile 8 werden (um gefahrloses Testen zu ermöglichen) die Umbenennungsbefehle zunächst nur angezeigt - erst, nachdem dieses "echo" entfernt wurde, werden die Dateinamen tatsächlich geändert.

Noch ein Hinweis: Wenn Ordnernamen "!" enthalten sollten, wird dieser Batch nicht funktionieren.

Grüße
bastla
Bitte warten ..
Mitglied: xercxes
28.10.2008 um 14:31 Uhr
Danke bastla für deine Antwort.
Und sorry das ich erst so spät antworte. Habe jedoch ein Problem mit meinem Rechner zu Hause, welches mir nicht erlaubt online zu gehen.
Werde deine Batch ausprobieren sobald ich wieder online gehen kann. Dann gebe ich dir auch Feedback.

Gruss xercxes
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
CMD-Batch hilfe: Dateiname zu txt (2)

Frage von Syscore64 zum Thema Batch & Shell ...

Batch & Shell
gelöst For f - In vielen Dateien Komma durch Punkt ersetzen (2)

Frage von alleedx zum Thema Batch & Shell ...

Windows Server
Server sehr langsam bei vielen kleinen Dateien (5)

Frage von MichiBLNN zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (27)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (20)

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

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...