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 macheusing 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.
-