Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 21:16

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C# File Search

Discussion on C# File Search within the .NET Languages forum part of the Coders Den category.

Closed Thread
 
Old   #1



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
C# File Search

Ich bin auf der Suche nach einer Methode wie ich Dateien aus einem Ordner anzeigen lassen kann, dabei folgende "SearchPattern" nutze.

Code:
world\wdMadrigal\WdMadrigal(2,00,04)-(2,00,04).lnd
2 steht für wie viele stellen es sein soll, die 00 und 04 für die Dateinummern.

Als Ausgabe möchte ich folgendes haben:
Quote:
world\wdMadrigal\WdMadrigal00-00.lnd
world\wdMadrigal\WdMadrigal00-01.lnd
world\wdMadrigal\WdMadrigal00-02.lnd
world\wdMadrigal\WdMadrigal00-03.lnd
world\wdMadrigal\WdMadrigal00-04.lnd

world\wdMadrigal\WdMadrigal01-00.lnd
world\wdMadrigal\WdMadrigal01-01.lnd
world\wdMadrigal\WdMadrigal01-02.lnd
world\wdMadrigal\WdMadrigal01-03.lnd
world\wdMadrigal\WdMadrigal01-04.lnd

world\wdMadrigal\WdMadrigal02-00.lnd
world\wdMadrigal\WdMadrigal02-01.lnd
world\wdMadrigal\WdMadrigal02-02.lnd
world\wdMadrigal\WdMadrigal02-03.lnd
world\wdMadrigal\WdMadrigal02-04.lnd

world\wdMadrigal\WdMadrigal03-00.lnd
world\wdMadrigal\WdMadrigal03-01.lnd
world\wdMadrigal\WdMadrigal03-02.lnd
world\wdMadrigal\WdMadrigal03-03.lnd
world\wdMadrigal\WdMadrigal03-04.lnd

world\wdMadrigal\WdMadrigal04-00.lnd
world\wdMadrigal\WdMadrigal04-01.lnd
world\wdMadrigal\WdMadrigal04-02.lnd
world\wdMadrigal\WdMadrigal04-03.lnd
world\wdMadrigal\WdMadrigal04-04.lnd
Bisher habe ich keine Lösung dafür finden können. Hoffe jemand weiß weiter.
Sedrika is offline  
Old 09/14/2013, 22:42   #2
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097

+
for schleife
tolio is offline  
Old 09/15/2013, 00:14   #3



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
Das passt leider nicht zu dem was ich so suche.
Der Index muss mit einer null beginnen, allerdings habe ich eine zwei am Anfang, diese stellt das da, was die "D2" in dem fall machen würde. Nur die Auflistung für 00,04 fehlt noch.
Sedrika is offline  
Old 09/15/2013, 00:32   #4
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
€dit: so grad auch im vs getestet, klappt:
Code:
        Const outer As Integer = 4
        Const inner As Integer = 4
        Const fmt As String = "00"

        For i = 0 To outer
            For a = 0 To inner
                TextBox1.Text &= i.ToString(fmt) & "-" & a.ToString(fmt) & vbCrLf
            Next a
            TextBox1.Text &= vbCrLf
        Next i
output:
Code:
00-00
00-01
00-02
00-03
00-04

01-00
01-01
01-02
01-03
01-04

02-00
02-01
02-02
02-03
02-04

03-00
03-01
03-02
03-03
03-04

04-00
04-01
04-02
04-03
04-04
tolio is offline  
Old 09/15/2013, 00:43   #5



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
Ne, das passt nicht. Kommt 16x "04-04" bei raus. Ansatz ist okay aber noch nicht das was ich will. Die Aufzählung kann ich ja schon korrekt darstellen. Ich will das ganze aber direkt so haben, dass ich aus dem Wert eine Art Pattern habe um einen Ordner nach Dateien die diesem Muster passen anzeigen zu lassen.
Sedrika is offline  
Old 09/15/2013, 00:45   #6
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
war nen schreibfehler drin, schau edit

sonst musste es mit regex machen wenn du nur danach suchen willst
tolio is offline  
Old 09/15/2013, 08:02   #7
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
Loope dich doch durch alle Dateien und schau ob dein regex pattern passt...
'Heaven. is offline  
Old 09/15/2013, 10:16   #8



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
Sind knapp 1200 Dateien. Ich will nicht jedes mal alle durchgehen.
Sedrika is offline  
Old 09/15/2013, 11:15   #9
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
1200 Dateien sind nichts.
qkuh is offline  
Old 09/15/2013, 11:27   #10



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
Es geht nicht um das durchsuchen der einzelnen dateien auf die Pattern sondern um so wenig Perfomance verlust wie möglich.
Sedrika is offline  
Old 09/15/2013, 11:55   #11
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Du wirst dir alle Dateien ansehn müssen, wie willst du sonst wissen das sie nicht ins Pattern passen oder Bereits erfasst wurden ?
dready is offline  
Thanks
1 User
Old 09/15/2013, 12:46   #12
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
hinzu kommt das 1200 pfade vergleichen für nen pc kein problem ist, du musst ja nicht alle inhalte auslesen oder sonst was
tolio is offline  
Old 09/15/2013, 12:58   #13



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
Um das auszählen kam ich leider nicht rum. Da muss ich dann etwas Performance einstecken lassen, auch wenn es nur ein wenig ist.

Folgendes habe ich "fabriziert"
Code:
String count = Scanner.GetToken();
count = count.Replace("(", "{").Replace(")", "}");
Regex regex = new Regex("{(.*)}");
var v = regex.Match(count);
string[] temp = v.Groups[0].ToString().Split('-');
string[] result1 = temp[1].Replace("{", "").Replace("}", "").Split(',');
string[] result2 = temp[0].Replace("{", "").Replace("}", "").Split(',');
string[] s1 = Path.GetDirectoryName(count).Split('\\');
s1[0] = s1[s1.Length - 1];

String[] nFiles = Directory.GetFiles(Path.GetDirectoryName(count), "*.*", SearchOption.TopDirectoryOnly);

szFiles = new ArrayList();

for (int j = Convert.ToInt32(result1[1]); j <= Convert.ToInt32(result1[2]); ++j)
{
	for (int e = Convert.ToInt32(result2[1]); e <= Convert.ToInt32(result2[2]); ++e)
	{
		String sFile = String.Format(Path.GetDirectoryName(count) + "\\" + s1[0] + "{0:D" + result1[0] + "}-{1:D" + result2[0] + "}" + Path.GetExtension(count), j, e);
		for (int i = 0; i < nFiles.Length; ++i)
		{
			if (sFile.ToLower() == nFiles[i].ToLower())
			{
				szFiles.Add(sFile.ToLower());
			}
		}
	}
}
Es funktioniert auch perfekt, falls ihr da noch verbesserungen sehen könnt, gebt mir bitte bescheid.
"Scanner.GetToken()" liest "world\wdMadrigal\WdMadrigal(2,00,04)-(2,00,04).lnd" aus.
Sedrika is offline  
Old 09/15/2013, 13:13   #14
 
elite*gold: 100
Join Date: Aug 2005
Posts: 595
Received Thanks: 208
Verbesserungen in welche Richtung ?

Du könntest nen paar Sachen weglassen, wobei du Perfomancen gegen Sauberkeit und Lesbarkeit tauschst, aber um ehrlich zu sein seh ich kein wirklichen Grund dafür, sobald DAS der Grund für ein Perfomancenflaschenhals wird, solltest du so oder so auf ne native Sprache umsteigen und möglichst viele kritische Stellen direkt mit ASM lösen. (Und beten das der eigenen Code tatsächlich schneller ist als der den die hervoragenden MS Compiler ausspucken )
dready is offline  
Old 09/15/2013, 13:28   #15



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
Naja, dann lasse ich das ganze mal so.
Danke an die, die versucht haben zu helfen.
Sedrika is offline  
Closed Thread


Similar Threads Similar Threads
[SEARCH] Need old game.xml file
04/11/2013 - DarkOrbit - 0 Replies
Hi!!! I´m searching for 2010 game.xml file, or 2009 will be ok ;) Or if someone could post the old formations of drones it will be very very helpfull. Formation like that: <formation id="42" name="X"> <positionsList data="100,100;-100,100;100,-100;-100,-100;150 ,150;-150,150;150,-150;-150,-150;-200,200;-200,-20 0;200,-200;200,200"/>
AO Texture File Search
10/15/2011 - Atlantica Online - 0 Replies
Usually every ingame Char has a texture file for it's own. What I'm looking for is the texture file for the red simplified avatars that show up if you put your System settings to "Use Simplified Character"... Thanks in advance
I search game file level 150 See more here!
09/19/2011 - Metin2 Private Server - 1 Replies
I search game file level 150, easy exp, easy drop yang. I need to daroo files, but i need a gamefiles not very easy, easy only! Thank. Any?
File Search
01/18/2007 - Kal Online - 2 Replies
hi , ich brauche ganz dringend die bug.dll vom kalhackit ... bzw das volle ... da ich formatiert hab :x danke



All times are GMT +1. The time now is 21:17.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.