dogukann
Goto Top

Dateinamen in Serie erweitern

Ich möchte von einer Liste die Dateinamen um 2 Wörter und ein Zeichen erweitern.

z.B.

hab ich eine fortlaufende liste mit der bezeichnung:
P201234.MPF
P201235.MPF
P201236.MPF

Der Dateiname soll so heißen:
PR_201234.MPF
PR_201235.MPF
PR_201236.MPF

Wie kann ich das mit den einfachsten mitteln ändern???

Dank im Vorraus an alle die mir Helfen wollen.

Content-ID: 228217

Url: https://administrator.de/contentid/228217

Ausgedruckt am: 16.11.2024 um 11:11 Uhr

Pjordorf
Lösung Pjordorf 30.01.2014, aktualisiert am 31.01.2014 um 12:08:38 Uhr
Goto Top
Hallo,

Zitat von @Dogukann:
Wie kann ich das mit den einfachsten mitteln ändern???
Was sind für dich einfachste Mittel?

Visual Basic?
Visula XYZ?
PHP*
Java*
Batch*
Compiler deiner wahl*
Gekauftes programm auf COBOL Basis*
oder einfach nur ein Kostenloses Programm was dies und noch viel mehr kann?


Wenns reicht, dann diese Frage als gelöst markieren, sonst deine Wünsche auf diesen Wunschzettel schreiben.

Gruß,
Peter
colinardo
Lösung colinardo 30.01.2014, aktualisiert am 31.01.2014 um 12:08:36 Uhr
Goto Top
Hallo Dogukann, Willkommen im Forum!
das wäre eigentlich ein Fall für ein Programm wie z.B. Ant Renamer
du kannst es aber auch mit einer einfachen Batchdatei machen:
(Zeile 2 den Pfad zu den Dateien noch ändern)
@echo off & setlocal ENABLEDELAYEDEXPANSION
set "Pfad=C:\Pfadzudendateien\*.MPF"  
for /f "delims=" %%a in ('dir /B /S /A-D "%Pfad%"') DO @(  
 set filename=%%~nxa
 set newname=PR_!filename:~1!
 ren "%%~a" "!newname!"  
)
oder Powershell:
dir "C:\Pfadzudendateien\*.MPF" | ?{!$_.PSIscontainer} | %{rename-item $_.Fullname "$($_.Name.Substring(0,1))R_$($_.Name.Substring(1))"}  
Grüße Uwe
bastla
Lösung bastla 30.01.2014, aktualisiert am 31.01.2014 um 12:08:50 Uhr
Goto Top
@ colinardo
... wobei sich die Batch-Zeilen 3 bis 7 (ungetestet) ohne Verlust an Funktionalität auf
for /f "delims" %%a in ('dir /B /S /A-D "%Pfad%"') do for /f "tokens=1* delims=P" %%i in ("%%~nxa") do ren "%%a" "PR_%%i%%j"
oder etwas übersichtlicher
for /f "delims" %%a in ('dir /B /S /A-D "%Pfad%"') do (  
    for /f "tokens=1* delims=P" %%i in ("%%~nxa") do ren "%%a" "PR_%%i%%j"  
)
reduzieren ließen - und "delayedExpansion" wäre dann auch nicht mehr erforderlich ...

Die Variable %Pfad% würde ich zur Sicherheit dabei mit
set "Pfad=C:\Pfadzudendateien\P*.MPF"
festlegen.

Grüße
bastla

[Edit] Berücksichtigung des ersten Zeichens ergänzt [/Edit]
Dogukann
Dogukann 30.01.2014 um 20:12:26 Uhr
Goto Top
Danke für die schnelle Antwort.
Ich werde es morgen früh sofort Testen und hier Bescheid geben.

Danke, danke und nochmals Danke.