schniefnase
Goto Top

Batch Datei: Dateiendung beibehalten, jedoch Dateiname Datei B wie Dateiname Datei A umbenennen

Hallo zusammen,

ich habe eine Frage zu einer Batchdatei.

Ich erhalte aus einer externen Verarbeitung stets 2 Dateien, isoliert in einem Verzeichnis (also bis auf die 2 Dateien liegt dort nichts).

Datei A nennt sich bspw.:
ABC123_20150623_011054.DAT_TDE

und Datei B nennt sich bspw.:
ABC123_20150623_011050.PROT_TDE

Nun muss jedoch für eine weitere Verarbeitung zwingend Datei B als Dateiname so lauten wie Datei A - die Endung muss jedoch bestehen bleiben. Zielzustand wäre also:
ABC123_20150623_011054.DAT_TDE
ABC123_20150623_011054.PROT_TDE

==> Der Timestamp hat sich also hier angepasst. Leicht zu übersehen in diesem Beispiel.

Meine Frage: Wie bekomme ich das am galantesten hin? Danke euch.

Content-ID: 275415

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

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

114757
114757 23.06.2015 aktualisiert um 13:32:16 Uhr
Goto Top
Mit Powershell z.B. so:
$ordner = 'C:\OrdnerXYZ'  
gci "$ordner\*.PROT_TDE" | rename-item -NewName "$(gci "$ordner\*.DAT_TDE" | select -First 1 -ExpandProperty Basename).PROT_TDE"  
Gruß jodel32
Schniefnase
Schniefnase 23.06.2015 aktualisiert um 13:36:13 Uhr
Goto Top
Zitat von @114757:

Mit Powershell z.B. so:
...
Gruß jodel32

Danke dafür. Sorry, leider kann ich die Powershell nicht verwenden und muss auf die normale Windows (CMD Line) zugreifen. Hast Du dafür auch eine Lösung?
114757
Lösung 114757 23.06.2015 aktualisiert um 13:56:56 Uhr
Goto Top
Hast Du dafür auch eine Lösung?
Immer diese alten Schinken face-wink here you go
@echo off
set "ordner=C:\OrdnerXYZ"  
for %%a in ("%ordner%\*.PROT_TDE") DO @(  
	for %%b in ("%ordner%\*.DAT_TDE") DO @(  
		ren "%%a" "%%~nb%%~xa"  
	)
)
Gruß jodel
Schniefnase
Schniefnase 23.06.2015 um 13:58:31 Uhr
Goto Top
Sauber face-smile Danke - das wars.

Irgendwie traue ich mich an die Powershell nicht so ran ;) Liegt aber (auch) an den historisch gewachsenen Verarbeitungen auf dem Server. Da läuft noch zu viel per Batch und CMD-Line.

Nochmals, vielen lieben Dank.
114757
114757 23.06.2015 aktualisiert um 14:02:35 Uhr
Goto Top
Irgendwie traue ich mich an die Powershell nicht so ran
Aber trotzdem kann ich dir nur empfehlen es unbedingt mal anzuschauen, the possibilities are unlimited ...
Wenn dich einmal das Fieber gepackt hat willst du kein Batch mehr sehen.
Schniefnase
Schniefnase 23.06.2015 um 14:09:18 Uhr
Goto Top
Ich denke ich muss mir da Mal ein gutes Buch gönnen. Danke für den Tipp.
Zendara
Lösung Zendara 23.06.2015, aktualisiert am 24.06.2015 um 07:24:03 Uhr
Goto Top
Hallo Schniefnase,

hier noch eine zweite Batch Variante.

set "ordner=c:\bla"  
for /f %%i in ('dir /b %ordner%\*.DAT_TDE') do ren *.PROT_TDE %%~ni.PROT_TDE  

Lg
Zendara
Schniefnase
Schniefnase 24.06.2015 um 07:25:09 Uhr
Goto Top
Danke - die Lösung klappt auch. face-smile