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

Hunderte Ordner automatisch umbenennen und enthaltene Jahreszahl in Klammern setzen

Frage Entwicklung Batch & Shell

Mitglied: evolution

evolution (Level 1) - Jetzt verbinden

12.10.2014 um 15:16 Uhr, 2126 Aufrufe, 8 Kommentare, 1 Danke

Hallo,

ich habe mal eine Frage, ob es per,batch oder Shell möglich ist viele Ordner automatisch umzubenennen.

Der Aufbau ist folgendermaßen:

Ordner 1582
Ordner 1999
etc.

Die Ordner haben unterschiedliche Namen, haben aber immer eine Jahreszahl am Ende oder in der Mitte.
Jetzt hätte ich gerne, dass die Jahreszahl immer in Klammern steht.
Ist das möglich?

Danke im Voraus
Mitglied: colinardo
12.10.2014, aktualisiert um 18:12 Uhr
Hallo umpalumpa,
z.B. mit Powershell ein Einzeiler ...
dir 'C:\DeinRootOrdner' -recurse | ?{$_.PSIsContainer -and $_.Name -match '\d{4}'} | rename-item -NewName {$_.Name -replace '(\d{4})','($1)'}
Noch zur Info: Die gängigen Rename-Programme wie
können das mit Regular-Expressions auch out-of-the-box

Grüße Uwe
Bitte warten ..
Mitglied: evolution
12.10.2014 um 17:31 Uhr
Erst mal vielen Dank für die schnelle Antwort und die Vorschläge. Allerdings habe ich mich evtl. falsch ausgedrückt.

Am Ende soll nicht nur die Jahreszahl übrig bleiben, sondern nur in Klammern gesetzt werden:

Bsp:

Vorher: Antuigua vrk 2013 > Antuigua vrk (2013)
Vorher: Redmark 2011 vrk > Redmark (2011) vrk

Am liebsten wäre mir, die Jahreszahl irgendwie zu extrahieren (egal wo sie steht) und dann den Ordnernamen neu zusammenzusetzen. Damit man die Zahl immer an den Anfang oder das Ende stellen kann.

Danke
Bitte warten ..
Mitglied: colinardo
12.10.2014, aktualisiert 13.10.2014
Zitat von evolution:.
Am Ende soll nicht nur die Jahreszahl übrig bleiben, sondern nur in Klammern gesetzt werden:
genau das gewünschte macht meine Zeile aber !! Du hast es bestimmt noch nicht ausprobiert
Am liebsten wäre mir, die Jahreszahl irgendwie zu extrahieren (egal wo sie steht) und dann den Ordnernamen neu
zusammenzusetzen. Damit man die Zahl immer an den Anfang oder das Ende stellen kann.
Auch kein Problem, geht damit ebenso...
z.B. die Jahreszahl immer ans Ende setzen:
dir 'C:\DeinRootOrdner' -recurse | ?{$_.PSIsContainer -and $_.Name -match '\d{4}'} | rename-item -NewName {$_.Name -replace '(.*?)(\d{4})(.*)','$1$3($2)'}
Mit der Regular Expression wird der Ordnername in 3 Teile gesplittet und im zweiten Replace-Parameter jeweils neu angeordnet, so dass die Jahreszahl immer am Ende steht. Die Dollarzeichen mit der Zahl dahinter entsprechen der Position der Klammerpaare im RegEx.

Und voila hast du alle Möglichkeiten
Bitte warten ..
Mitglied: evolution
12.10.2014, aktualisiert um 21:37 Uhr
Also nochmal vielen Dank, aber ich bekomme immer eine Fehlermeldung:

Der Quell und der Zielpfad dürfen nicht identisch sein
Bitte warten ..
Mitglied: colinardo
12.10.2014, aktualisiert um 21:40 Uhr
Zitat von evolution:

Also nochmal vielen Dank, aber ich bekomme immer eine Fehlermeldung:

Get-ChildItem : Es wurde kein Parameter gefunden, der dem Parameternamen "recruse" entspricht
Kopiere die Zeile mal richtig, das heißt -recurse ... nicht recruse . Und bedeutet alle Unterordner rekursiv durchlaufen. Wenn du das nicht benötigst kannst du den Parameter weglassen.
Bitte warten ..
Mitglied: evolution
12.10.2014 um 21:40 Uhr
sorry.. hab es eingetippt und vertippt.. jetzt macht er es, aber ich bekomme trotzdem
jetzt die Fehlermeldung, dass der Quell und Zielpfad nicht identisch sein dürfen..

verstehen tu ich das nicht
Bitte warten ..
Mitglied: colinardo
LÖSUNG 12.10.2014, aktualisiert 13.10.2014
Zitat von evolution:

sorry.. hab es eingetippt und vertippt.. jetzt macht er es, aber ich bekomme trotzdem
jetzt die Fehlermeldung, dass der Quell und Zielpfad nicht identisch sein dürfen..

verstehen tu ich das nicht
dann hast du einen doppelten Ordnernamen mit der Umbenennung produziert.
Für diesen Fall musst du es dann so schreiben:
dir 'C:\DeinRootOrdner' -recurse | ?{$_.PSIsContainer -and $_.Name -match '\d{4}'} | rename-item -NewName {$_.Name -replace '^(.*?)(\d{4})(.*)$','$1$3($2)'} -ErrorAction SilentlyContinue
dann überspringt er doppelte Ordnernamen bei der Umbenennung.

Schönen Abend
Grüße Uwe
Bitte warten ..
Mitglied: evolution
12.10.2014 um 21:53 Uhr
Super.. Vielen Dank, dass du dir die Zeit genommen hast! Hast mit sehr geholfen.
Schönen Abend auch dir..
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...