Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Ordner umbenennen per batch

Frage Entwicklung Batch & Shell

Mitglied: 24184

24184 (Level 1)

12.12.2006, aktualisiert 13.12.2006, 16762 Aufrufe, 6 Kommentare

Hallo alle zusammen,

ich benötige mal Eure Hilfe.
Ich habe einen Ordner in dem sich Ordner befinden die bspw. wie folgt bezeichnet sind:
20061201 oder 20061202 usw.
Ich will eine Batchdatei schreiben mit der ich sagen kann - rename alle Ordner in dem Ordner nach dem Schema:
xxxx-xx-xx
Wie sag ich das mit dem Schema, geht das überhaupt?

Vorab Vielen herzlichen Dank
ThoNi
Mitglied: miniversum
12.12.2006 um 12:15 Uhr
Solte in etwa so gehen:

@echo off
Setlocal EnableDelayedExpansion
FOR /F %%i in ('dir /b /a:D') do set Name=%%i && rename !Name! !Name:~0,4!-!Name:~4,2!-!Name:~6,2!

miniversum
Bitte warten ..
Mitglied: 24184
12.12.2006 um 12:46 Uhr
Danke schön - das geht super.
Kannst Du mir den Ablauf noch kurz erläutern?
Bitte warten ..
Mitglied: miniversum
12.12.2006 um 15:09 Uhr
"@echo off" schaltet dir die Anzeige jeder Zeile aus.
"Setlocal EnableDelayedExpansion" brauchst du damit nach den set Name=%%i in der for schleife die Variable Name gleich benutzt werden kann.
Jetzt zu "FOR /F %%i in ('dir /b /a:D') do set Name=%%i && rename !Name! !Name:~0,4!-!Name:~4,2!-!Name:~6,2!" :
Der Befehl "dir /b /a:D" würde dir alle Ordner in diesem Verzeichnis auflisten. Durch die For schleife "FOR /F %%i in ('dir /b /a:D') do set Name=%%i" wird von dieser Auflistung Zeile für Zeile durgegangen und die Ordnernamen in der Variablen "Name" gespeichert. Duch das anschliesende "&& rename !Name! !Name:~0,4!-!Name:~4,2!-!Name:~6,2!" wird mit dieser Variablen der neue Name zusammengebaut und eben umbenannt. Dabei bedeutet "!Name:~0,4!" das er die ersten vier Zeichen der Variablen "Name" benutzt. "!Name:~4,2!" beinhaltet nur das 5. und 6. Zeichen und entsprechend "!Name:~6,2!" das 7. und 8. Zeichen.
Als Beispiel:
Name wäre 20061201:
!Name:~0,4! wäre 2006
!Name:~4,2! wäre 12
!Name:~6,2! wäre 01

das "!Name:~0,4!-!Name:~4,2!-!Name:~6,2!" setzt so also das ganze zu "2006-12-01" zusammen. Das ganze "rename !Name! !Name:~0,4!-!Name:~4,2!-!Name:~6,2!" benennt also in diesem Beispiel das "20061201" zu "2006-12-01" um. Und dies eben für jede Zeile der Auflistung.

Ich hofffe das war einigermasen verständlich erklärt.

miniversum
Bitte warten ..
Mitglied: Biber
12.12.2006 um 15:47 Uhr
@miniversum

Ich hofffe das war einigermasen verständlich erklärt.
Ich als neutraler Beobachter finde es jedenfalls 5 Sterne und einen Grünen Haken wert.

Grüße
Biber
Bitte warten ..
Mitglied: miniversum
12.12.2006 um 16:40 Uhr
Danke.
miniversum
Bitte warten ..
Mitglied: 24184
13.12.2006 um 10:03 Uhr
Einfach super,

Vielen herzlichen Dank
ThoNi
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Alle Dateien in einem Ordner umbenennen (5)

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

Batch & Shell
gelöst Ordner Umbenennen +heutiges Datum (12)

Frage von ahsenden zum Thema Batch & Shell ...

Windows Server
Ordner umbenennen nicht möglich (8)

Frage von carbon1X zum Thema Windows Server ...

Batch & Shell
gelöst Mehrere Grafiken mit Batch umbenennen (3)

Frage von SeraphinaJ zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Erneutes Starten eines Programmes mit Admin-Rechten

Tipp von Estefania zum Thema Windows 10 ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(3)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...