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
Kommentar vom Moderator Biber am 29.07.2011 um 11:07:41 Uhr
Zitat von romberto:
... und sämtliche im Künstlerordner enthaltenen Albumordner laut liste umbennent.
Set /a rgc+=1
#769
.. wer umbennent nicht unbennent der pennt *gg
GELÖST

Ordner mittels Textliste umbenennen

Frage Entwicklung Batch & Shell

Mitglied: romberto

romberto (Level 1) - Jetzt verbinden

28.07.2011, aktualisiert 29.07.2011, 3415 Aufrufe, 3 Kommentare

Hallo,

ich kenne mich bezüglich Batch Dateien leider überhaupt nicht aus. Bin also absoluter Laie auf diesem Gebiet. Ich bitte daher um euer Verständnis, wenn ich Dinge nicht gleich verstehe - werde mir diesbezüglih aber vollste Mühe geben.

Zu meinem Problem:

Ich möchte gerne in meiner MP3 Sammlung alle Albenordner nach Erscheinungsdatum umbenennen. Dafür habe ich eine Liste welche wie folgt aufgebaut ist:

Ursprünglicher Albumname = xxxx-xx-xx - Neuer Albumname

Also:
BeispielAlbum01 = 1978-07-12 - BeispielAlbum01
BeispielAlbum02 = 1964-09-01 - BeispielAlbum02
.
.
.
usw.

Die Liste ist ziemlich lang, die Alben aber jeweils noch zusätzlich in einem Künstlerordner.

Ich möchte nun also eine Batch Datei, die ich in den jeweiligen Künstlerordner kopieren kann, von wo sie dann auf die Liste zugreift und sämtliche im Künstlerordner enthaltenen Albumordner laut liste umbennent.

Ich habe vergleichbares schon für die Dateienumbenennung gesehen, habe aber irgendwo gelesen, dass es sich mit der Ordnerumbenennung etwas anders verhält. Es wäre also Super, wenn mir hier jemand eine quasi Allroundlösung anbieten könnte.

Einzelne Punkte in der Liste kann ich ohne Probleme anpassen, wenn dies die Batch-Datei verlangt. Nur bei der Batch selber stehe ich eben vor Böhmischen Dörfern.

Noch eine kurze Frage zum Schluss: Genügt es wenn ich die Batch dann von .bat zu .cmd umbenenne um sie unter Windows 7 zu benutzen.

Freue mich über jegliche Antwort und Hilfe und sage schonmal vielen Dank im voraus!

Viele Grüße

Robert
Mitglied: bastla
28.07.2011 um 20:47 Uhr
Hallo romberto und willkommen im Forum!

Grundsätzlich sollte das (ungetestet) etwa so gehen:
01.
@echo off & setlocal 
02.
set "Liste=Listendatei.txt" 
03.
 
04.
for /f "delims=" %%i in ('dir /b /ad') do for /f "tokens=1* delims==" %%a in ('findstr /b /c:"%%i" "%Liste%"') do echo ren "%%i" "%%b" 
05.
pause
Das "echo" vor dem "ren" sorgt dafür, dass (zum Testen) der Umbenenn-Befehl zunächst nur angezeigt wird - wenn alles vernünftig aussieht, kannst Du dieses "echo" (und auch die Zeile mit "pause") entfernen und so die Namensänderungen auch wirklich ausführen lassen.

Wichtig wäre übrigens, dass es nach dem "=" in der Listendatei kein Leerzeichen gibt, da dieses ansonsten Bestandteil des neuen Ordnernamens würde.
Batch-Dateien würde ich grundstätzlich mit dem Type "cmd" speichern, obwohl auch in W7 noch "bat" funktioniert.

Grüße
bastla
Bitte warten ..
Mitglied: Friemler
28.07.2011 um 21:28 Uhr
Hallo romberto,

ich hätte da noch eine Version, die Du zusammen mit der Liste.txt in das Verzeichnis mit den Künstlerordnern kopieren kannst. Das Batchfile muss nur einmal laufen und geht dabei alle Verzeichnisse der Künstler durch. Es dürfen dann natürlich keine doppelten Albumnamen vorkommen. Auch bei mir wird erstmal nur angezeigt, was gemacht würde. Damit wirklich was passiert, das ECHO in Zeile 8 entfernen.

Aber auch hier gilt: Bitte keine Leerzeichen vor und hinter dem Gleichheitszeichen in der Liste.txt.

Außerdem noch folgender Rat (gilt auch für bastla's Code): Speichere die Liste.txt mit dem Programm EDIT ab, dem alten DOS-Editor von Microsoft (Start -> Ausführen -> Edit, verfügbar nur auf 32Bit-Systemen). Der Grund: Da die Kommandozeile immer noch mit ASCII-Codierung (Codepage 850 auf einem deutschen Windows) arbeitet, Notepad aber in ANSI-Codierung (Codepage1252) speichert, würden Albumverzeichnisse, die äöüßÄÖÜ im Namen enthalten, nicht umbenannt. Falls Du ein 64Bit-System nutzt, besorge Dir z.B. Notepad++ (kostenlos) und speichere die Liste.txt damit mit der Codierung OEM850.

01.
@echo off & setlocal 
02.
 
03.
set "RenameList=Liste.txt" 
04.
 
05.
for /d %%a in (*.*) do ( 
06.
  for /f "delims=" %%b in ('dir /b /a:d "%%a"') do ( 
07.
    for /f "tokens=2 delims==" %%c in ('findstr /b /c:"%%b" "%RenameList%"') do ( 
08.
      echo ren "%%a\%%b" "%%c" 
09.
10.
11.
12.
pause
Gruß
Friemler
Bitte warten ..
Mitglied: romberto
29.07.2011 um 11:30 Uhr
Vielen dank euch beiden. Ihr habt mir wirklich einen haufen Arbeit erspart. Erstaunlicherweise hat auch alles beim ersten Versuch geklappt -> ich denke das spricht für die Qualität eurer Beiträge. Nochmals vielen, vielen Dank.
Bitte warten ..
Ähnliche Inhalte
Windows Server
Ordner umbenennen nicht möglich (8)

Frage von carbon1X zum Thema Windows Server ...

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 ...

Windows 10
Windows 10 mit Direct Access 2012 R2 zeigt es nicht alle Ordner an (4)

Frage von rainergugus zum Thema Windows 10 ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

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

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (13)

Frage von aschmid zum Thema Router & Routing ...