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

Dateiname per Batch ändern

Frage Microsoft

Mitglied: controller

controller (Level 1) - Jetzt verbinden

21.09.2013, aktualisiert 12:57 Uhr, 2022 Aufrufe, 9 Kommentare

Ich habe folgendes Problem.

Ich möchte Dateinamen um einen bestimmten Teil kürzen bzw. einen Teil herausschneiden.

Lösen möchte ich das nur per skript -> Batch , also bitte keine Tools nennen.

Die Dateinamen sind z.B.

abcde-Peter-Lustig-123.pdf
abcde-Frank-Müller-5542.pdf
--

Der erste Teil ist immer gleich, abcde.

Ich möchte das der Dateiname dann so aussieht, also der Name wegfällt.

abcde-123.pdf
abcde-5542.pdf


Gruß
Ralph
Mitglied: rubberman
21.09.2013, aktualisiert um 13:27 Uhr
Hallo controller, willkommen im Forum.

Bestehen die Namen immer aus einem Vor- und einem Nachnamen oder gibt es auch Erna-Meier-Huber oder Prof-Dr-Ernst-Peter-Lehmann?
Sind die einzelnen Teile immer durch Bindestrich getrennt?
Kommen nie Bindestriche im ersten bzw. letzten Teil vor?

Grüße
rubberman
Bitte warten ..
Mitglied: controller
21.09.2013, aktualisiert um 13:52 Uhr
Es könnte schon passieren das jemand einen Doppelnamen hat und mehr als 3x das "-" im Dateinamen ist

Ja, das mit den Bindestrichen ist immer so
Bitte warten ..
Mitglied: rubberman
21.09.2013, aktualisiert um 13:59 Uhr
Hallo controller,

speichere mal folgenden Batchcode in das selbe Verzeichnis, in dem deine PDFs liegen.
01.
@echo off &setlocal 
02.
 
03.
set "first=" 
04.
for %%i in (*.pdf) do ( 
05.
  set "name=%%~i" 
06.
  setlocal EnableDelayedExpansion 
07.
  for %%j in ("!name:-=" "!") do ( 
08.
    if not defined first set "first=%%~j" 
09.
    set "last=%%~j" 
10.
11.
  ECHO ren "!name!" "!first!-!last!" 
12.
  endlocal 
13.
14.
 
15.
PAUSE
Entferne ECHO und PAUSE, wenn du siehst dass das Umbenennen korrekt ablaufen würde, um den Code scharf zu machen.

Grüße
rubberman
Bitte warten ..
Mitglied: controller
21.09.2013, aktualisiert um 14:31 Uhr
Klappt super !!!!

wenn das so leicht geht haben sie vielleicht auch für dieses Problem noch eine Lösung, es ist ähnlich aber noch komplizierter.

XMDSB-VMT(1)_10004_Peter_-_187.pdf
XMDSB-VMT(2)_10004_Peter_-_187.pdf
XMDSB-VMT(1)_210004_Klaus-Dieter_-_2189.pdf (* Nachtrag, es kann hier passieren das ein Doppelname eingegeben wird oder eine Firmenname mit & oder so steht. Auch können weitere "_" odr "-" "+" und so stehen)
XMDSB-VMT(2)_210004_Klaus-Dieter_-_2189.pdf

So sollte es dann aussehen :

XMDSB-VMT(1)_10004-_187.pdf
XMDSB-VMT(2)_10004-_187.pdf
XMDSB-VMT(1)_210004-_2189.pdf
XMDSB-VMT(2)_210004-_2189.pdf


Gruß
Ralph


Hier ist das mit den "-" und "_" etwas anders.
Bitte warten ..
Mitglied: rubberman
21.09.2013 um 14:30 Uhr
Hallo controller,

ja, ist ähnlich.
01.
@echo off &setlocal 
02.
 
03.
set "first=" 
04.
set "second=" 
05.
for %%i in (*.pdf) do ( 
06.
  set "name=%%~i" 
07.
  setlocal EnableDelayedExpansion 
08.
  for %%j in ("!name:_=" "!") do ( 
09.
    if not defined first ( 
10.
      set "first=%%~j" 
11.
    ) else ( 
12.
      if not defined second set "second=%%~j" 
13.
14.
    set "last=%%~j" 
15.
16.
  ECHO ren "!name!" "!first!_!second!-_!last!" 
17.
  endlocal 
18.
19.
 
20.
PAUSE
Grüße
rubberman
Bitte warten ..
Mitglied: controller
21.09.2013 um 14:33 Uhr
Bin eben noch mal die Datembank durchgegangen es sind sehr viele Datensätze. Am Ende habe ich noch Firmennamen und ggf. schlecht erfaßte Daten gefunden sodas ich mein Beispiel noch mal ergänzt habe. Hoffe ich war nicht zu langsam.

Ich teste.

Ralph
Bitte warten ..
Mitglied: controller
21.09.2013 um 14:36 Uhr
Habe eben mal getestet, bisher alles O.K..

Ralph
Bitte warten ..
Mitglied: rubberman
21.09.2013, aktualisiert um 14:44 Uhr
Falls es noch Probleme geben sollte, definiere mal genau wie die Dateinamen auszusehen haben, die verarbeitet werden sollen. Die anderen bleiben dann unberücksichtigt. Du kannst natürlich nicht für jede nur mögliche Eventualität ein Workaround schreiben ...

Grüße
rubberman
Bitte warten ..
Mitglied: controller
21.09.2013 um 14:45 Uhr
Sorry,

klappt jetzt so wie gewünscht.

Danke
Ralph
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
gelöst Teile eines Dateinamens ändern mit Batch Datei (4)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
gelöst Registry per Batch abfragen und INI Einträge hinzufügen bzw. ändern (18)

Frage von kampen zum Thema Batch & Shell ...

Batch & Shell
CMD-Batch hilfe: Dateiname zu txt (2)

Frage von Syscore64 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Exchange Server
Exchange Postfach leeren - nicht löschen (11)

Frage von AndreasOC zum Thema Exchange Server ...