Nur *.txt Dateiformate kopieren



  • da gibts n tool was so heisst - damit kannst du alle dateien pruefen lassen was sie sperrt - auch freigeben usw - frag google - auf der homepage ist alles gut erklaert

    was passiert wenn du das GetFiles() weg laesst und die datei mal hardcoded kopierst?



  • er sagt
    Die Zieldatei D:\Hans\Copy ist keine Datei, sondern ein Verzeichnis.
    wenn ich das hier mache

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    
    namespace Optiker_Gilde_Konverter
    {
    
            public class ClassDateihandling
            {
                public void CopyFiles(string sourcePath, string targetPath, string extension, bool overwrite)
                {
    
                    if (!Directory.Exists(sourcePath))
                        Console.WriteLine("The source path " + sourcePath + " does not exist");
    
                    if (!Directory.Exists(targetPath))
                        Directory.CreateDirectory(targetPath);
    
                    //string[] files = Directory
    
                   // foreach (string file in files)
                    //{
    
                       // if (file.EndsWith(extension))
                       // {
    
                            File.Copy (Path.Combine(sourcePath,extension), (targetPath), true);
                            //continue;
                       // }
                   // }
                }
    
                public bool RenameFile(string filename)
                {
                    return true;
                }
            }
        }
    


  • das komische ist ja ich kann die text datei manuel löschen umbennen usw aber wenn ich die mit c# verschieben will sagt der das irgen ein prozess drauf zugreift ...hab alles ausprobiert hab auch die txt gelöscht un nochmal erstellt :(((



  • Naja ist ja auch klar, das ist ja auch keine datei sondern wirklich ein Verzeichnis. Und in dem Moment wo du drauf zugreifen willst/kopieren willst, sitzt doch auch ein Prozess drauf, nämlich du selber.



  • @ Firefighter

    wie kann ich das umgehen könntest mir mir da vllt helfen ?



  • bei deinem test, hast du da auch eine richtige datei angegeben fuer die "extension" variable?
    also ist der aufruf:
    fileHandling.CopyFiles("C:\\Hans", "D:\\Hans", "test.txt", true);
    ?
    wenn nicht ergibt dein test kein sinn {o;



  • ja hab ich

    public class Optiker_Gilde
    {
        static void Main()
        {
            ClassDateihandling cd = new ClassDateihandling();
    
            string fileName = "test.txt";
            string sourcePath = @"D:\Hans\";
            string targetPath = @"D:\Hans\Copy";
            //string newFileName = "atest.txt";
    
            cd.CopyFiles(sourcePath, targetPath, fileName, true);
            cd.RenameFile(sourcePath1,newFileName);
    
        } 
    
    }
    

    sogar das RenameFile funktz nicht ich kack hier voll ab :,(



  • Man man man wie kann man sich da so schwer tun ?!

    using System;
    using System.Text;
    using System.IO;
    
    namespace Copy
    {
    
        class Program
        {
    
            //============================================================================
            //                                                                      
            //============================================================================
            private static void Verify(string[] args)
            {
                if (args.Length < 3)
                    throw new ArgumentException("Parameter: Quellpfad Zielpfad Maske");
    
                if (!Directory.Exists(args[0]))
                    throw new DirectoryNotFoundException(String.Format("{0} existiert nicht", args[0]));
            }
    
            //============================================================================
            //                                                                      
            //============================================================================
            static int Main(string[] args)
            {
                try
                {
                    Verify(args);
    
                    //FileHelper.CopyFiles(args[0], args[1], args[2], SearchOption.TopDirectoryOnly, true);
                    FileHelper.CopyFilesInfo(args[0], args[1], args[2],SearchOption.TopDirectoryOnly, true);
                    return 0;
                }
                catch (System.Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return 20;            	
                }
            }
        }
    
        class FileHelper
        {
            #region Helper
            //============================================================================
            //                                                                      
            //============================================================================
            private static void CreateDirectoryIfNotExist(string path)
            {
                if (!Directory.Exists(path))
                    Directory.CreateDirectory(path);
            }
    
            //============================================================================
            //                                                                      
            //============================================================================
            static string FileSizeHumanReadable(long laenge)
            {
                string[] sizes = { "B", "KB", "MB", "GB" };
                int order = 0;
                while (laenge >= 1024 && order + 1 < sizes.Length)
                {
                    order++;
                    laenge /= 1024;
                }
                return String.Format("{0:0.##} {1,2}", laenge, sizes[order]);
            }
            #endregion
    
            //============================================================================
            //                                                                      
            //============================================================================
            public static void CopyFiles(string sourcePath, string targetPath, string wildCard, SearchOption recursive, bool overwrite)
            {
                CreateDirectoryIfNotExist(targetPath);
    
                string[] files = Directory.GetFiles(sourcePath, wildCard, recursive);
    
                foreach (string filename in files)
                    File.Copy(filename, Path.Combine(targetPath, Path.GetFileName(filename)), overwrite);
            }
    
            //============================================================================
            //                                                                      
            //============================================================================
            public static void CopyFilesInfo(string sourcePath, string targetPath, string wildCard, SearchOption recursive, bool overwrite)
            {
                CreateDirectoryIfNotExist(targetPath);
    
                DirectoryInfo dirInf = new DirectoryInfo(sourcePath);
                FileInfo[] fileInfos = dirInf.GetFiles(wildCard, recursive);
    
                foreach (FileInfo file in fileInfos)
                {
                    string targetFileName = Path.GetFileName(file.Name);
                    Console.WriteLine(String.Format("({1,9}) {0,-20} => {2}", file.Name, FileSizeHumanReadable(file.Length), targetPath));
                    file.CopyTo(targetFileName , overwrite);
                }
            }
        }
    }
    

    sogar das RenameFile funktz nicht ich kack hier voll ab :,(

    Gib Dir bitte mal Mühe beim Posten von Fehlermeldungen.



  • Benutze die System:IO:Path::GetExtention methode. Ist Statisch. Du kannst du hinzufügen von ".txt" nur txt files erfassen.



  • 😕


Anmelden zum Antworten