Du bist nicht angemeldet.

1

Mittwoch, 2. September 2009, 22:07

Doppelte Dateien löschen...

Hey,
ich habe hier einige Dateien, die leider doppelt erscheinen...
Die Dateien sind alle so angeordnet:
Dateiname (irgendeine nummer).endung
Ich hätte es jetzt aber lieber so, dass alle Dateien mit der nummer hinten dran gelöscht werden, weil ich so von jeder Datei sonst 4 gleiche habe, die natürlich viel Speicherplatz beanspruchen...
Ich hoffe, ihr könnt mir helfen, wie ich es so herbekomme, dass alle Dateien mit der Nummer hinten dran gelöscht werden =)

mfg

FirePanther

The Coderz-Master

Beiträge: 4 029

Wohnort: Berlin

Guthaben: 1 903 CC-Euro

  • Private Nachricht senden

2

Mittwoch, 2. September 2009, 23:52

ich versteh nicht was du meinst...
du willst alle dateien löschen, wo im dateinamen etwa folgendes steht: "text(zahl).endung" ???
wenn ja, gehst du mit scandir einma durch das verzeichnis und checkst alles mit preg_match

preg_match("/([a-zA-Z]+)([0-9]+)\.([a-zA-Z0-9]+)/i",$dateiname);

dateiname darf dann nicht so aussehen:
(buchstaben) (zahlen) (PUNKT) (buchstaben und zahlen gemixxt)
[box]Typisch Coderz-Team:
Mein Name ist FirePanther, das L steht für Gefahr...
ProCoder: Da ist kein L vorhanden.
LooCuz: wo isn da ein L
FirePanther: ihr idioten, Gefahr wird auch nicht mit L geschrieben xD[/box]

Neustes Projekt: www.autoit.at

Blacky

Fortgeschrittener

Beiträge: 449

Wohnort: Hamburg

Guthaben: 175 CC-Euro

  • Private Nachricht senden

3

Donnerstag, 3. September 2009, 06:17

Des ist jetz peinlich aber welche proggi-sprache ist das???
C++?
Autoit?
PHP???




mfg

4

Donnerstag, 3. September 2009, 06:49

Hallo,

Das ist bzw. war PHP.

mfg Timo
Homepage: Ti-Systems
Blog: Ti-Systems's Blog
NoPaste: NoPaste


5

Donnerstag, 3. September 2009, 09:49

mit PHP funktioniert es leider nicht so gut, weil ich müsste dann alle Dateien ja auf den Server bringen...
Gibt es da kein einfacheres Tool, wo man keinen Server dazu braucht?

FirePanther

The Coderz-Master

Beiträge: 4 029

Wohnort: Berlin

Guthaben: 1 903 CC-Euro

  • Private Nachricht senden

6

Donnerstag, 3. September 2009, 14:36

aso jo hab gedacht du fragst für php...
in autoit wär das dann mit filefindfirstfile und filefindnextfile (zum durchsuchen des verzeichnisses, statt scandir)
und dann stringregexp statt preg_match und nicht zu vergessen filedelete für unlink
[autoit=1]$s=filefindfirstfile("*")
do
$f=filefindnextfile($s)
if stringregexp($f,"([a-zA-Z]+)([0-9]+)\.([a-zA-Z0-9]+)") then filedelete($f)
until $f=""[/autoit]
wenn du bei filefindfirstfile ein verzeichnis angibst, vergiss bei filedelete nicht das verzeichnis auch dort zu schreiben, da ansonsten der dateiname gelöscht wird, in dem selben verzeichnis wie die au3-datei selbst

cya
[box]Typisch Coderz-Team:
Mein Name ist FirePanther, das L steht für Gefahr...
ProCoder: Da ist kein L vorhanden.
LooCuz: wo isn da ein L
FirePanther: ihr idioten, Gefahr wird auch nicht mit L geschrieben xD[/box]

Neustes Projekt: www.autoit.at

7

Donnerstag, 3. September 2009, 17:30

Mein Programm hat irgendwie doch nicht funktioniert...
Was muss ich da genau schreiben?
Ich habe einfach deinen Code kopiert und die .exe ins gleiche Verzeichnis mit den Dateien kompiliert, aber es funktioniert irgendwie komischerweise doch nicht...

FirePanther

The Coderz-Master

Beiträge: 4 029

Wohnort: Berlin

Guthaben: 1 903 CC-Euro

  • Private Nachricht senden

8

Donnerstag, 3. September 2009, 17:32

sag ma paar beispiele wie die dateien heißen und sag welche von denen gelöscht werden sollen...
[box]Typisch Coderz-Team:
Mein Name ist FirePanther, das L steht für Gefahr...
ProCoder: Da ist kein L vorhanden.
LooCuz: wo isn da ein L
FirePanther: ihr idioten, Gefahr wird auch nicht mit L geschrieben xD[/box]

Neustes Projekt: www.autoit.at

9

Donnerstag, 3. September 2009, 17:43

z.B. so:
bild.jpg <-- soll bleiben
bild (450).jpg <-- muss gelöscht werden
bild (820).jpg <-- muss auch weg
bild1.jpg <-- soll bleiben
bild (250).jpg <-- muss auch weg

aber es sind nicht nur .jpg, sondern auch viele andere formate, die immer so eine Nummer hintendran haben...
und ich will die mit der Nummer in der Klammer gelöscht haben...
manche haben auch so ein format:

bild - urlaub.jpg
bild - urlaub (683).jpg <-- muss auch weg

so sollte es sein =)

mfg

FirePanther

The Coderz-Master

Beiträge: 4 029

Wohnort: Berlin

Guthaben: 1 903 CC-Euro

  • Private Nachricht senden

10

Donnerstag, 3. September 2009, 18:20

achso dann musst du schon genauer beschreiben wie du es willst...
ich habe eingestellt, dass alle dateien gelöscht werden, die z.B. hallo123.txt o.ä. heißen (weder klammern noch andere zeichen, genau so ein aufbau)
[autoit=1]$s=filefindfirstfile("*")
do
$f=filefindnextfile($s)
if stringregexp($f,"(.+)\(([0-9]+)\)\.([a-zA-Z0-9]+)") then filedelete($f)
until $f=""[/autoit]
das sollte jetzt alle dateien suchen, die klammern beinhalten... versuch ma
[box]Typisch Coderz-Team:
Mein Name ist FirePanther, das L steht für Gefahr...
ProCoder: Da ist kein L vorhanden.
LooCuz: wo isn da ein L
FirePanther: ihr idioten, Gefahr wird auch nicht mit L geschrieben xD[/box]

Neustes Projekt: www.autoit.at

11

Donnerstag, 3. September 2009, 18:47

vielen Dank, jetzt funktionierts ^^
Jetzt ist endlich alles bereinigt ^^

Ähnliche Themen