breuwolf
Goto Top

Zeichen in Dateinamen Löschen

Hallo in die Runde Hier,
Ich hab da ein kleines Problem, und zar beckomme ich datein die wie folgt aussehen sollten > Barcode(123456789)_1.txt aus Irgent ein Grund geht dieses nicht mehr, und das system (HP software) setzt mir willkürlich zeichen in der Klammer dahinter.
Das sieht dann so aus Barcode(123456789face-smile_1.txt oder Barcode(123456789Ä)_1.txt . Der Hersteller arbeitet zwar an einer Lösung aber ich weiß nicht wie lange das noch dauert. kann ich das lezte zeichen in der Klammer in der Klammer vie batch löschen??
danke für eure antworten

Content-Key: 156862

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

Printed on: April 26, 2024 at 22:04 o'clock

Mitglied: 60730
60730 Dec 13, 2010 at 10:16:24 (UTC)
Goto Top
moin,

Gegenfrage - wie stellst du sicher, dass das nur bei Dateien laufen soll - die nicht bereits durchgenudelt wurden?
  • Sind die gewünschten Zeichen immer ziffern?
  • gibt es eine länge, die die Dateinamen haben (sollten)?

Ohne diesen Input macht das helfen keinen Sinn und eine Lösung verkehrt sich zum Gegenteil in ein Problem.

Gruß
Member: Mandorallen
Mandorallen Dec 13, 2010 at 10:17:42 (UTC)
Goto Top
Hallo!

Sollte mit folgender Zeile funktionieren:
for /f %%i IN ("Barcode(?????????*)_1.txt") do ren %%i "Barcode(?????????)_1.txt"  
Member: BigWim
BigWim Dec 13, 2010 at 10:30:03 (UTC)
Goto Top
Moin,

das wäre mein Vorschlag gewesen:

@echo off

for /f "tokens=1,2 delims=)" %%a in ('dir c:\temp\bar*.* /b') do (  
  Set Teil1=%%a
  Set Teil2=%%b
  call :MachWas
)

goto :eof



:MachWas
Set AlterName=%Teil1%)%Teil2%
Set NeuerName=%Teil1:~0,-1%)%Teil2%
echo bisher = %AlterName%
echo neu = %NeuerName%
goto :eof

Markus
Member: Biber
Biber Dec 13, 2010 at 10:34:41 (UTC)
Goto Top
Moin Breuwolf,

a) ich würde eigentlich nichts machen - das Problem muss mit Hochdruck vom Software-Bereitsteller gefixt werden.
Mit halbgaren Workarounds nehmt ihr den Druck weg und habt nur eine scheinbare Stablität.

b) da ich weiss, dass solche Ratschläge ignoriert werden - wenn man mich denn zwänge, etwas zu machen, dann in etwa nach folgendem Muster
[Beispiel/Demo am CMD-Prompt]
>set "dateiname=Barcode(123456789Ä)_1.txt"
## den Dateinamen jeder Datei in eine Variable setzen, z.B. in einer FOR-Anweisung

>@echo If /i [%Dateiname:~0,17%%Dateiname:~-7%] neq [%dateiname%] @echo Ren "%dateiname%" "%Dateiname:~0,17%%Dateiname:~-7%"
If /i [Barcode(123456789)_1.txt] neq [Barcode(123456789Ä)_1.txt] @echo Ren "Barcode(123456789Ä)_1.txt" "Barcode(123456789)_1.txt"
## und diese Prüfung TESTEN mit den beiden @echos und PROD laufen lassen ohne die @Echos.

Wie gesagt - ich würde nichts tun --> weil ein Fehler niemals gefixt wird, wenn es einen Workaround gibt.

Grüße
Biber
Member: Breuwolf
Breuwolf Dec 13, 2010 at 10:40:55 (UTC)
Goto Top
Hallo
Ja , ich bin da schon dran bei HP aber da beckommste auch nur die Aussage das die dran arbeiten
aber danke für eure vorschläge werde es dann mal versuchen

melde mich noch