schmidtsmikey
Goto Top

Löschen von Dateien mit Dateiendungen der Länge 3 und 4 (.dot, .dotx)

Wie selektiere ich Dateien mit 3-Zeichen-Dateiendung in einem Ordner mit Dateien mit 4-Zeichen-Dateiendung?

Hallo!

Folgende Aufgabe: in einem Ordner liegen *.dot und *.dotx Dateien. Jetzt sollen nur die *.dot-Dateien gelöscht werden, nicht aber die *.dotx Dateien.

Leider führt der Befehl

DEL C:\ordner\*.dot

nicht zum Erfolg, d.h. auch die *.dotx-Dateien werden gelöscht. Hier scheint die Windows-Shell nicht zu verstehen, dass dot != dotx ist.

Hat jemand eine Lösung parat? Vielen Dank im Voraus!

Content-ID: 126316

Url: https://administrator.de/forum/loeschen-von-dateien-mit-dateiendungen-der-laenge-3-und-4-dot-dotx-126316.html

Ausgedruckt am: 23.12.2024 um 05:12 Uhr

45877
45877 02.10.2009 um 12:37:53 Uhr
Goto Top
Hallo,

verschieb doch alle dotx kurz in einen tmp Ordner, lösch alle dor und schieb die dotx zurück.
schmidtsmikey
schmidtsmikey 02.10.2009 um 12:49:38 Uhr
Goto Top
Diese Lösung finde ich aber nicht gut und umständlich. Es muss doch eine Möglichkeit geben, Dateien 100% an ihrer Dateiendung zu erkennen.
St-Andreas
St-Andreas 02.10.2009 um 12:57:03 Uhr
Goto Top
ren *.dotx *.xdot
del *.dot
ren *.xdot *.dotx
60730
60730 02.10.2009 um 13:01:40 Uhr
Goto Top
Servus,

gib mal

dir /x C:\ordner\*.dot
in einer Dosbox dein und du siehst, ohne vorheriges umbenamsen - wirds noch komplizierter...
Um nicht zu schreiben "umständlich"

Gruß
Biber
Biber 02.10.2009 um 15:04:02 Uhr
Goto Top
Moin schmidtsmikey,

dieser Effekt tritt nur auf, wenn Du beim COPY oder DEL mit Wildcards arbeitest.
Wenn Du die Datei explizit ansprichst, hattu kein Problem.

[ Ein ">" kennzeichnet meinen CMD-Prompt. Dieses Zeichen NICHT mit eingeben]
(=14:55:09  E:\Schnipsel=)
>dir /b *.dot
3.dotx
4.dot
4.dotx
5.dot
1dddddddddd.dot
1.dotx
2.dotx

>for %i in (*.dot) do @if [%~xi] NEQ [.dotx] @del %i
{keine Rückmeldung, aber alles gemacht}
>dir /b *.dot

3.dotx
4.dotx
1.dotx
2.dotx

Aber sicherer und deshalb empfohlen entweder:
>for %i in (*.dot) do @if [%~xi] NEQ [.dotx] @del /p %i
Möchten Sie "E:\Schnipsel\4.dot" löschen (J/N)? n  
Möchten Sie "E:\Schnipsel\5.dot" löschen (J/N)? n  
Möchten Sie "E:\Schnipsel\1dddddddddd.dot" löschen (J/N)? n  

- oder die Simulation mit -
>for %i in (*.dot) do @if [%~xi] NEQ [.dotx] @echo Finde %i 
Finde 4.dot
Finde 5.dot
Finde 1dddddddddd.dot

Grüße
Biber
vonbredowp
vonbredowp 02.10.2009 um 15:54:08 Uhr
Goto Top
Mist, hab die Antworten nicht gelesen und mich an das Problem gesetzt..

Hier trotzdem meine "Lösung" . Als .Bat speichern

mkdir tmp_dotx
copy *.dotx /tmp_dotx/*.dotx
del *.dot
copy /tmp_dotx/*.dotx *.dotx
rmdir tmp_dotx
echo "Alles gelöscht"