tommhii
Goto Top

Dateiname verkürzen, ändern und nummerieren

Hallo

ich hab eine Frage ich habe in einen Verzeichniss mehre Dateien wo ich mittels Batch den Dateinamen verkürzen ändern und nummerien möchte.

hier ein Beispiel so sehen die Dateien im Verzeichnis aus

Post.6662010001059.po1025c1rn81ex13woc8enz9kz65qrf5.20190412134439.71b..pdf
Post.6662010001059.po1025zhoyysuv5hfxzirx78isgj2m88.20190412132949.71b..pdf
Post.6662010001059.po1026jchsq1nf41xdm5f2cfytn5by9p.20190412133721.71b..pdf

und zu diesen Ergebnis möchte ich kommen.
Post.6662010001059.71b.20190412134439.1.pdf
Post.6662010001059.71b.20190412132949.2.pdf
Post.6662010001059.71b.20190412133721.3.pdf

kann mir jemand weiterhelfen

danke im voraus

Content-Key: 441143

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

Printed on: April 20, 2024 at 01:04 o'clock

Mitglied: 139374
139374 Apr 16, 2019 updated at 08:35:06 (UTC)
Goto Top
Still batch verfrickeling face-big-smile?? Richte deine Satschüssel mal neu aus face-wink.
@echo off
powershell -Executionpolicy ByPass -NoP -C "gci 'C:\daten' -File -Filter *.pdf | ?{$_.Basename -match '^(.+)\.(.+)\.(.+)\.(.+)\.(.+).'} | group {$matches[0..1]} | %%{$cnt = 1; $_.Group | %%{rename-item $_.Fullname -NewName \"$($matches[1]).$($matches[2]).$($matches[5]).$($matches[4]).$cnt.pdf\" ; $cnt++}}"  
Member: tommhii
tommhii Apr 16, 2019 at 09:06:02 (UTC)
Goto Top
Danke für Deine Antwort,

ich wollte das aber in einen Dos Batch laufen lassen. Hast Du dafür auch einen Lösung?

VG
Tommhi
Mitglied: 139374
139374 Apr 16, 2019 updated at 09:09:05 (UTC)
Goto Top
Zitat von @tommhii:
ich wollte das aber in einen Dos Batch laufen lassen. Hast Du dafür auch einen Lösung?
Das oben ist eine Batch face-smile -> @echo off.
Member: tommhii
tommhii Apr 16, 2019 at 09:21:26 (UTC)
Goto Top
Ja stimmt, aber ich suche keine Lösung mit Powershell, da ich das in ein bestehendes Script einbauen möchte wo nicht mit Powershell gearbeitet wird.

Danke aber trotzdenm für Deine Mühe.

Vg
Tommhi
Mitglied: 139374
139374 Apr 16, 2019 updated at 10:32:34 (UTC)
Goto Top
Auch das kein Thema, in der Schublade auf dem Dachboden kram...:
@echo off & setlocal ENABLEDELAYEDEXPANSION
set "folder=D:\test"  
set "lasttoken="  
for /f "delims=" %%a in ('dir /b /on "%folder%\*.pdf"') do (  
	for /f "tokens=1-5 delims=." %%b in ("%%~na") do (  
		if "!lasttoken!" NEQ "%%c" set cnt=1  
		ren "%folder%\%%a" "%%b.%%c.%%f.%%e.!cnt!.pdf"  
		set /a cnt+=1
		set "lasttoken=%%c"  
	)
)
Zu Empfehlen:
Tutorial zur FOR-Schleife
Dann kannst du es selbst und musst nicht jahrelang immer das selbe Thema erfragen face-wink.
Member: tommhii
tommhii Apr 16, 2019 at 10:23:15 (UTC)
Goto Top
Sieht gut aus in der DOS box steht zwar die richtige Anweisung, aber er führt die änderung am Dateinamen nicht durch.
Mitglied: 139374
139374 Apr 16, 2019 updated at 10:26:27 (UTC)
Goto Top
Zitat von @tommhii:

Sieht gut aus in der DOS box steht zwar die richtige Anweisung, aber er führt die änderung am Dateinamen nicht durch.
Das war so vorgesehen das du überprüfen kannst was passieren würde. Entferne einfach das echo vor der Zeile 7 face-wink. Darauf hättest du aber auch selbst kommen können. Da sieht man mal wieder das hier nur Copy n' Paste gemacht wird und man sich die Anweisungen nicht einmal im Ansatz ansieht und versucht zu verstehen face-sad.
Member: tommhii
tommhii Apr 16, 2019 at 10:28:14 (UTC)
Goto Top
sorry geht
Danke Dir

VG
Tommhi
Mitglied: 139374
Solution 139374 Apr 16, 2019 updated at 10:58:37 (UTC)
Goto Top
Dann bitte auch Danke.