Top-Themen

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 Dateinamen per Batch ändern

Mitglied: hboltz

hboltz (Level 1) - Jetzt verbinden

19.01.2009, aktualisiert 17:59 Uhr, 13008 Aufrufe, 11 Kommentare

Hallo,

ich bin Netzwerker und habe mit Programmierung nicht viel zu tun. Daher ist die Frage vermutlich auch total simpel, aber ich krieg's mit lesen der Beiträge nicht hin! Also, deshalb hier die Problematik:

Ich habe in einem Ordner hunderte Dateien, die folgende Namenskonvention haben:

001-diversenamen.pdf

Ich möchte jetzt in die Mitte des Dateinamens noch etwas einbauen, so daß die Files nachher wie folgt heißen:

001-200901-diversenamen.pdf

Ich weiß, dass es jede Menge Tools gibt, die das problemlos können, aber ich muss das immer wieder machen und das auch noch in verschiedenen Ordnern mit verschiedenen Konventionen, so dass Tools einfach zu aufwändig sind.

Vielen Dank für Eure Hilfe!

HoBo
Mitglied: bastla
19.01.2009 um 18:16 Uhr
Hallo hboltz und willkommen im Forum!

Sollte sich von der Kommandozeile so machen lassen:
for /f "tokens=1* delims=-" %i in ('dir /b "D:\Daten\*-*.pdf"') do @echo ren "D:\Daten\%i-%j" "%i-200901-%j"
Das "@echo" dient dazu, die Umbenennungen zuerst nur anzeigen zu lassen - wenn alles OK aussieht, die gleiche Zeile ohne "@echo" verwenden, um tatsächlich die Namen zu ändern.

Falls Du das in einen Batch verwandeln willst, jeweils %%i und %%j anstatt %i und %j verwenden.

Grüße
bastla
Bitte warten ..
Mitglied: 60730
19.01.2009 um 18:16 Uhr
Servus und willkommen,

zu deiner Frage:

Ich möchte jetzt in die Mitte des Dateinamens noch etwas einbauen, so daß die Files nachher wie folgt heißen:
001-diversenamen.pdf
001-200901-diversenamen.pdf

Mit anderen Worten:

  • die "MItte" ist das 4. Zeichen, oder das Zeichen nach dem Bindestrich?
  • Der Schnippsel, der eingefügt werden soll, ist ein Datum?
  • "Das" Datum von heute?
  • "Das" Datum der Datei?

Gruß
edit... ohne Worte - fast fasta bastla /edit
Bitte warten ..
Mitglied: hboltz
19.01.2009 um 18:35 Uhr
funktioniert auf der Kommandozeile - wie sähe nun der Batchfile aus, wenn ich den schon im entsprechenden Verzeichnis ausführen würde? Danke !!!
Bitte warten ..
Mitglied: hboltz
19.01.2009 um 18:36 Uhr
zu 1 - ja - hinter dem Bindestrich soll was rein
zu 2 - manchmal, aber nicht immer
zu 3+4 - siehe 2

Gruß
HoBo
Bitte warten ..
Mitglied: 60730
19.01.2009 um 18:39 Uhr
Servus again,

naja meine Fragen haben sich ja durch fasta Bastla schon quasi in Luft aufgelöst

Aber zu deiner Frage zurück, bastla hat es ja schon vorzelebriert:

Aus jedem % machst du %%
01.
for /f "tokens=1* delims=-" %%i in ('dir /b "D:\Daten\*-*.pdf"') do @echo ren "D:\Daten\%%i-%%j" "%%i-200901-%%j"
Bitte warten ..
Mitglied: bastla
19.01.2009 um 18:41 Uhr
Hallo hboltz!

Wie schon erwähnt - Unterschied eigentlich nur hinsichtlich %%i, %%j:
01.
@for /f "tokens=1* delims=-" %%i in ('dir /b "D:\Daten\*-*.pdf"') do @echo ren "D:\Daten\%%i-%%j" "%%i-200901-%%j"
Wenn Du den Batch in den entsprechenden Ordner legst, dann:
01.
@for /f "tokens=1* delims=-" %%i in ('dir /b *-*.pdf') do @echo ren "%%i-%%j" "%%i-200901-%%j"
Grüße
bastla
Bitte warten ..
Mitglied: bastla
19.01.2009 um 18:45 Uhr
@TimoBeil
Biber würde Dich jetzt Rechtsüberholer nennen ...

naja meine Fragen haben sich ja durch fasta Bastla schon quasi in Luft aufgelöst
Ganz im Gegentum; die Fragen waren durchaus gerechtfertigt (und hätte ich heute mehr Zeit, wären sie vermutlich so ähnlich auch von mir gekommen) - ich hatte einfach nur aus der Hüfte geschossen und zufällig getroffen ...

Grüße
bastla
Bitte warten ..
Mitglied: hboltz
19.01.2009 um 20:04 Uhr
PRIMA!!! Vielen Dank! Es funktioniert. Allerdings muss ich ehrlich zugeben, dass ich die Syntax nicht verstehe. Hast Du vielleicht einen Link für mich, wo ich die Parameter nachlesen kann und wo diese erklärt werden?

Danke noch mal und Gruß
HoBo
Bitte warten ..
Mitglied: bastla
19.01.2009 um 20:52 Uhr
Hallo hboltz!

Hast Du vielleicht einen Link für mich, wo ich die Parameter nachlesen kann und wo diese erklärt werden?
Einfach einmal "for /f" an der Kommandozeile eingeben und durch die Online-Hilfe "durchbeissen" (analog bei Bedarf "dir /?" ode "ren /?") ...

... ansonsten könnte ich die eine Zeile ja kurz zu erklären versuchen:
for /f "tokens=1* delims=-" %%i in ('dir /b *-*.pdf') do 
Zerlege die einzelnen Zeilen der "dir"-Ausgabe (durch "/b" werden ausschließlich die Namen der Dateien, die dem Schema "*-*.pdf" entsprechen, ausgegeben) anhand des Trennzeichens (= "delimiter") "-", wobei nur in den Teil vor dem ersten Trennzeichen ("1") und den gesamten Rest nach dem ersten Trennzeichen ("*") zerlegt werden soll (auch wenn noch weitere "-" enthalten wären, würde dort nicht mehr getrennt werden) und stelle die beiden Teile als %%i und %%j (= nächster Buchstabe im Alphabet ) zur Verfügung.

ren "%%i-%%j" "%%i-200901-%%j"
Dieser Teil wird für jede gefundene Datei durchgeführt.

Für das Umbenennen muss zunächst der alte Dateiname (grundsätzlich mit Pfad, aber hier nicht erforderlich, da der Batch schon im richtigen Ordner ausgeführt wird) angegeben werden. Dieser besteht aus dem Teil vor dem ersten "-", dem "-" und dem Rest dahinter - daher also "%%i-%%j". Die Anführungszeichen sind eigentlich nur erforderlich, wenn ein Pfad / Dateiname Leerzeichen enthält, aber da sie so gut wie nie stören, setze ich sie sicherheitshalber.

Der zweite Parameter des "ren"-Befehles ist der neue Dateiname (immer ohne Pfad). Dieser wird dann einfach aus den nötigen Teilen zusammengesetzt: %%i (Teil vor dem ersten "-" des ursprünglichen Namens), "-200901-" und "%%j" (Rest des alten Namens nach dem ersten "-").

Grüße
bastla
Bitte warten ..
Mitglied: hboltz
19.01.2009 um 23:24 Uhr
SUPER!!! Danke für die Info! Eine Frage bzw. ein Problem habe ich gerade noch festgestellt: wenn ich den Batch Job 2 mal starte, wird nochmals das Datum eingefügt. Kann man das irgendwie verhindern????

Danke und Gruß
HoBo
Bitte warten ..
Mitglied: bastla
20.01.2009 um 08:00 Uhr
Hallo hboltz!

Da sich ja vermutlich "200901" in "200902" bis "200912", aber wohl auch "201001" etc, weiter entwickeln wird, wäre ev nur ein Umbenennen von Dateien, deren zweiter Namensbestandteil nicht mit "20" beginnt, eine Möglichkeit - ob damit dann Dateien auf der Strecke blieben, weil deren (lt Deinem oben dargestellten Schema) "diversenamen.pdf"-Teil ohnehin bereits mit "20" anfängt, musst Du selbst abschätzen.
for /f "tokens=1* delims=-" %%i in ('dir /b *-*.pdf') do echo %%j|findstr /b "20">nul || ren "%%i-%%j" "%%i-200901-%%j"
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateiname über Batch ändern
gelöst Frage von c64b311ee9Batch & Shell6 Kommentare

Hallo liebe Community, folgendes Problem!: Ich habe einen Ordner mit 500 PDF Dateien. Diese sind nach folgendem Schema aufgebaut. ...

Batch & Shell

Dateinamen mit Batch-Datei ändern - Problem

gelöst Frage von fffffuuuuuuuhhhhBatch & Shell9 Kommentare

Hallo zusammen, ich, stelle regelmäßig .mp3-Dateien her, die folgendermaßen von meinem Audioprogramm beschriftet wird: Das Ergebnis soll aber folgendermaßen ...

Batch & Shell

Teile eines Dateinamens ändern mit Batch Datei

gelöst Frage von fffffuuuuuuuhhhhBatch & Shell4 Kommentare

Hallo, ich, stelle regelmäßig .mp3-Dateien her, die folgendermaßen von meinem Audioprogramm beschriftet wird: Interpret - Titel _xxxxxx000.mp3 die x stehen für eine ...

Batch & Shell

Dateiname ändern, und auch in Datei ändern. evt mit einem Batch

gelöst Frage von helmuthelmut2000Batch & Shell18 Kommentare

Hallo, Ich möchte folgendes umsetzten: Ich habe ein paar Ordner mit Dateien Die Dateien haben folgende Dateinamen, ABC123456.doc ABC123457.doc ...

Neue Wissensbeiträge
Vmware
VMware Update für den ESXi 5.5 verfügbar
Information von sabines vor 4 StundenVmware

Nach dem ganzen Hickhack um Update mit Microcode Anpassungen und Rückzug, gibt es nun für den ESXi 5.5 ein ...

CPU, RAM, Mainboards

Meltdown und Spectre: Intel zieht Microcode-Updates für Prozessoren zurück

Information von keine-ahnung vor 8 StundenCPU, RAM, Mainboards4 Kommentare

Moin, extrem lutztig. Nur gut, dass ich noch nicht beim Probanden-Bingo mitgemacht habe :-) LG, Thomas

Router & Routing
PfSense als Addon auf QNAP
Information von magicteddy vor 22 StundenRouter & Routing3 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 1 TagDatenschutz1 Kommentar

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement26 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Server
TEMP-Profile
gelöst Frage von Forseti2003Windows Server21 Kommentare

Guten Morgen, wer kennt sie nicht, die lieben Temporären Benutzerprofile, vorallem immer dann, wenn man sie am wenigsten braucht. ...

Multimedia & Zubehör
Welches Tablet für die Verkäufer?
Frage von Hendrik2586Multimedia & Zubehör15 Kommentare

Guten Morgen meine Lieben, vielleicht könnt ihr mir ja helfen. Es geht um unsere Außendienstmitarbeiter /Verkäufer. Sie sollen demnächst ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...