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

Ordner umbenennen per batch

Frage Entwicklung Batch & Shell

Mitglied: 24184

24184 (Level 1)

12.12.2006, aktualisiert 13.12.2006, 16331 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
Windows Server
Ordner umbenennen nicht möglich (8)

Frage von carbon1X zum Thema Windows Server ...

Batch & Shell
gelöst Ordner per Batch in RAR (1)

Frage von kampen zum Thema Batch & Shell ...

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

Frage von ahsenden zum Thema Batch & Shell ...

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

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

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
gelöst Benutzer lässt sich nur an einem Clientcomputer anmelden (14)

Frage von Ammann zum Thema Windows Server ...

Batch & Shell
gelöst Gruppenzugehörigkeit von AD Usern ermitteln - die Perfektion fehlt (11)

Frage von Stefan007 zum Thema Batch & Shell ...

LAN, WAN, Wireless
gelöst Netzwerk in 2 Teile trennen (11)

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

Netzwerke
SFP Modul (miniGibic) (10)

Frage von apranet zum Thema Netzwerke ...