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-Key: 275415

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

Printed on: April 19, 2024 at 03:04 o'clock

Mitglied: 114757
114757 Jun 23, 2015 updated at 11:32:16 (UTC)
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
Member: Schniefnase
Schniefnase Jun 23, 2015 updated at 11:36:13 (UTC)
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?
Mitglied: 114757
Solution 114757 Jun 23, 2015 updated at 11:56:56 (UTC)
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
Member: Schniefnase
Schniefnase Jun 23, 2015 at 11:58:31 (UTC)
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.
Mitglied: 114757
114757 Jun 23, 2015 updated at 12:02:35 (UTC)
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.
Member: Schniefnase
Schniefnase Jun 23, 2015 at 12:09:18 (UTC)
Goto Top
Ich denke ich muss mir da Mal ein gutes Buch gönnen. Danke für den Tipp.
Member: Zendara
Solution Zendara Jun 23, 2015, updated at Jun 24, 2015 at 05:24:03 (UTC)
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
Member: Schniefnase
Schniefnase Jun 24, 2015 at 05:25:09 (UTC)
Goto Top
Danke - die Lösung klappt auch. face-smile