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, 2004 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Datum per batch ändern in Tagen (2)

Frage von crawnby zum Thema Batch & Shell ...

IDE & Editoren
gelöst IP und DNS per Batch ändern (9)

Frage von andyw5 zum Thema IDE & Editoren ...

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

Frage von Syscore64 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: Dateiname abhängig vom Änderungsdatum auslesen (6)

Frage von freaktastisch zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...