Fünftletztes Zeichen löschen wenn es ein Underline ist
Hallo zusammen,
ich stehe wieder mal an... diese FOR Schleiffe werde ich wohl nie in meinem Leben kapieren...
Folgendes Problem habe ich:
In einem Ordner habe ich unterschiedliche Dateien mit der Endung .txt, .dxf oder .pdf
nun soll bei allen Dateien die *_.txt oder *_.dxf oder *_.pdf aufhören das _ entfernt werden.
bei allen anderen Dateien soll nichts unternommen werden.
Bsp: A1234_5678_00_.txt soll zu A1234_5678_00.txt werden
B5236_6988_01.txt bleibt
Z8974_5844_06B.txt bleibt auch
Ich hoffe so kurz vor Weihnachten ist noch jemand hier der mich hier unterstützen kann.
Vielen Dank schon jetzt
Gruss
ich stehe wieder mal an... diese FOR Schleiffe werde ich wohl nie in meinem Leben kapieren...
Folgendes Problem habe ich:
In einem Ordner habe ich unterschiedliche Dateien mit der Endung .txt, .dxf oder .pdf
nun soll bei allen Dateien die *_.txt oder *_.dxf oder *_.pdf aufhören das _ entfernt werden.
bei allen anderen Dateien soll nichts unternommen werden.
Bsp: A1234_5678_00_.txt soll zu A1234_5678_00.txt werden
B5236_6988_01.txt bleibt
Z8974_5844_06B.txt bleibt auch
Ich hoffe so kurz vor Weihnachten ist noch jemand hier der mich hier unterstützen kann.
Vielen Dank schon jetzt
Gruss
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 225214
Url: https://administrator.de/forum/fuenftletztes-zeichen-loeschen-wenn-es-ein-underline-ist-225214.html
Ausgedruckt am: 24.12.2024 um 01:12 Uhr
10 Kommentare
Neuester Kommentar
Hallo giadsc,
kannst du z.B. so machen:
In Zeile 6 ist dem Rename-Vorgang noch ein
p.s. Und häng dich nicht "for" dem Fest in die Schleife
Grüße Uwe
kannst du z.B. so machen:
In Zeile 6 ist dem Rename-Vorgang noch ein
echo
vorangestellt (zum testen), dies musst du rausnehmen wenn die Dateien tatsächlich umbenannt werden sollen.@echo off & setlocal enabledelayedexpansion
set suchordner="c:\temp\source"
for %%a in (%suchordner%\*.*) DO @(
set basename=%%~na
if "!basename:~-1!" == "_" (
echo rename "%%~a" "!basename:~0,-1!%%~xa"
)
)
Grüße Uwe
Zitat von @giadsc:
Leider wird nichts umbenannt, muss ich noch etwas beachten wenn ich es im batch ausführen will? die doppelten % sind ja schon
drin...
Hast Du noch eine Idee?
gelesen ?Leider wird nichts umbenannt, muss ich noch etwas beachten wenn ich es im batch ausführen will? die doppelten % sind ja schon
drin...
Hast Du noch eine Idee?
In Zeile 6 ist dem Rename-Vorgang noch ein echo vorangestellt (zum testen), dies musst du rausnehmen wenn die Dateien tatsächlich umbenannt werden sollen.
ist die Zeile @echo off & setlocal enabledelayedexpansion notwendig?
ja
den Ordner in Zeile 2 angepasst ? poste doch bitte deinen angepassten Code(und bitte Tags verwenden), hier geht es nämlich einwandfrei
Grüße Uwe
Grüße Uwe
Zitat von @giadsc:
können die files nun auch noch gleich in einen Unterordner verschoben werden?
z.B.
A1234_5678_00.txt in A1234
B5236_6988_01.txt in B5236
Z8974_5844_06B.txt in Z8974
8888_7777B in 8888
das währe der Oberhammer...
Wenn der Trennstrich "_" das Trennmerkmal für den Ordnernamen ist:können die files nun auch noch gleich in einen Unterordner verschoben werden?
z.B.
A1234_5678_00.txt in A1234
B5236_6988_01.txt in B5236
Z8974_5844_06B.txt in Z8974
8888_7777B in 8888
das währe der Oberhammer...
@echo off & setlocal enabledelayedexpansion
set pe_exp=C:\ptc_temp\export
for %%a in (%pe_exp%\*.*) DO @(
set basename=%%~na
for /f "tokens=1 delims=_" %%b IN ("!basename!") DO set newfolder=%pe_exp%\%%b
if "!basename:~-1!" == "_" (
set newname=!basename:~0,-1!%%~xa
ren "%%~a" "!newname!"
if not exist "!newfolder!" md "!newfolder!"
move "%pe_exp%\!newname!" "!newfolder!"
)
)
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen, und den(die) entsprechenden Kommentar(e) welche die Lösung waren, markieren. Merci.
Zitat von @giadsc:
Einfach nur genial was man so alles machen könnte, wenn man das FOR-Ding nur kapieren würde..
Dann empfehle ich mal folgendes Tutorial:Einfach nur genial was man so alles machen könnte, wenn man das FOR-Ding nur kapieren würde..
Tutorial zur FOR-Schleife
Wünsche Dir frohe Festtage.
Ebenso, und guten Rutsch.Grüße Uwe