Benutzer mit den meisten Antworten
C# For Schleife Datei EXT rausfiltern und kopieren

Frage
Antworten
-
Hallo Markus,
es wäre hilfreich, wenn Du das mal mit Beispielen konkret darstellen könntest.
Grundsätzlich würde ich mal das hier vorschlagen:
String[] files = System.IO.Directory.GetFiles( @"X:\Ordner", "*.001", SearchOption.TopDirectoryOnly ); String dir; foreach ( String file in files ) { dir = $@"X:\Ordner\425 {Path.GetExtension( file ).Substring( 1 )}"; if( !System.IO.Directory.Exists( dir ) ) { System.IO.Directory.CreateDirectory( dir ); } File.Copy( file, $@"X:\Ordner\425 {Path.GetExtension( file ).Substring( 1 )}\{Path.GetFileName( file )}" ); }
Daraus kannst Du eine Methode machen, die die gewünschte Dateiendung annimmt und das Argument dann entsprechend einsetzt.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport
- Bearbeitet Stefan FalzModerator Sonntag, 23. Dezember 2018 13:47
- Als Antwort vorgeschlagen Stefan FalzModerator Montag, 24. Dezember 2018 07:56
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 2. Januar 2019 06:37
Alle Antworten
-
Hallo Markus,
es wäre hilfreich, wenn Du das mal mit Beispielen konkret darstellen könntest.
Grundsätzlich würde ich mal das hier vorschlagen:
String[] files = System.IO.Directory.GetFiles( @"X:\Ordner", "*.001", SearchOption.TopDirectoryOnly ); String dir; foreach ( String file in files ) { dir = $@"X:\Ordner\425 {Path.GetExtension( file ).Substring( 1 )}"; if( !System.IO.Directory.Exists( dir ) ) { System.IO.Directory.CreateDirectory( dir ); } File.Copy( file, $@"X:\Ordner\425 {Path.GetExtension( file ).Substring( 1 )}\{Path.GetFileName( file )}" ); }
Daraus kannst Du eine Methode machen, die die gewünschte Dateiendung annimmt und das Argument dann entsprechend einsetzt.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport
- Bearbeitet Stefan FalzModerator Sonntag, 23. Dezember 2018 13:47
- Als Antwort vorgeschlagen Stefan FalzModerator Montag, 24. Dezember 2018 07:56
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 2. Januar 2019 06:37
-
Hallo, danke für die schnelle Antwort.
ich habe ein Verzeichnis mit vielen Dateien.
C:\425
Hier sind folgende Daten die immer variieren.
C:\425\2330518A.095
3322453B.116
123221A.034
Diese Daten sollen anhand der Dateikennung also.095 / .034 / .116 in die existierenden Ordner 425 095 / 425 116 / 425 034 kopiert werden.
Die Ordner befinden sich auf einem Netzlaufwerk.
Lieben Gruß
-
Hallo Markus,
dafür kannst Du dann auch mein obiges Beispiel nehmen und minimal anpassen.
Anstelle von *.001 schreibst Du dann *.*. Den Code zur Prüfung auf die Existenz des Zielordners kannst Du auskommentieren oder rauslöschen. Der Rest geht dann schon so wie von dir gewollt.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport