BloodDonor89 Δημοσ. 23 Σεπτεμβρίου 2014 Δημοσ. 23 Σεπτεμβρίου 2014 Καλησπερα, θελω να φτιαξω ενα προγραμματακι για την αντιγραφη αρχειων στο φακελο τα εγγραφα μου. private void button1_Click_1(object sender, EventArgs e) { System.IO.File.Copy("test\\1\\1.txt", "test\\2\\1.txt", true); } private void button2_Click(object sender, EventArgs e) { System.IO.File.Copy("test\\1\\1.txt", (Environment.SpecialFolder.MyDocuments)+"\\1\\1.txt", true); }Το πρωτο button ειναι οκ, στο δευτερο μου πεταει μηνυμα οτι δεν υπαρχει η διαδρομη. Αυτο που θελω ειναι η αντιγραφη να γινεται με στον φακελο Τα εγγραφα μου. Ξερει κανεις;
albNik Δημοσ. 23 Σεπτεμβρίου 2014 Δημοσ. 23 Σεπτεμβρίου 2014 Μαλλον δεν υπαρχει ο φακελος 1 στα Εγγραφα http://stackoverflow.com/questions/3201598/how-do-i-create-a-file-and-any-folders-if-the-folders-dont-exist
Tmark Δημοσ. 23 Σεπτεμβρίου 2014 Δημοσ. 23 Σεπτεμβρίου 2014 Θες το πρόγραμμα αυτό να τρέχει μόνο στο pc σου ή θα μπει και σε άλλα τερματικά? Αν όχι, γιατί δεν βάζεις καρφωτά το path, χωρίς το Environment.SpecialFolder.MyDocuments και όπως είπε ο Albnik σιγουρεύοντας ότι υπάρχουν οι folders test και 1. 1
BloodDonor89 Δημοσ. 23 Σεπτεμβρίου 2014 Μέλος Δημοσ. 23 Σεπτεμβρίου 2014 Θα μπει και σε αλλα τερματικα γι αυτο και δεν θελω να δωσω καρφωτα την διευθυνση. Ο φακελος 1 υπαρχει κανονικα.
Tmark Δημοσ. 23 Σεπτεμβρίου 2014 Δημοσ. 23 Σεπτεμβρίου 2014 Δοκίμασε αυτό: string file = @"test\1\1.txt"; string destination = @Environment.SpecialFolder.MyDocuments +"\1\1.txt"; if(!System.IO.Directory.Exists(destination)) { System.IO.Directory.CreateDirectory(destination); } destination = System.IO.Path.Combine(destination, System.IO.Path.GetFileName(file)); System.IO.File.Copy(file, destination);
BloodDonor89 Δημοσ. 23 Σεπτεμβρίου 2014 Μέλος Δημοσ. 23 Σεπτεμβρίου 2014 Οπως κι αν το κανω το ιδιο μηνυμα παιρνω Ενω ο φακελος 1 υπαρχει κανονικα
albNik Δημοσ. 23 Σεπτεμβρίου 2014 Δημοσ. 23 Σεπτεμβρίου 2014 Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) +"\\1\\1.txt"; To MyDocuments ειναι απλα enum. 2
BloodDonor89 Δημοσ. 23 Σεπτεμβρίου 2014 Μέλος Δημοσ. 23 Σεπτεμβρίου 2014 Αλλο ενα ερωτημα, επειδη το ενα αρχειο πρεπει να αντιγραφη σε εναν φακελο στο program file πρεπει να του δωσω αδεια, μου πεταει μηνυμα οτι δεν επιτρεπεται η προσβαση!
kagelos Δημοσ. 23 Σεπτεμβρίου 2014 Δημοσ. 23 Σεπτεμβρίου 2014 Btw μην ενώνετε paths με + γιατί θα έχετε διαρκώς το πρόβλημα με τον αν υπάρχουν trailing \ Καλύτερα να χρησιμοποιείτε Path.Combine(path1, path2). 2
Apoll Δημοσ. 24 Σεπτεμβρίου 2014 Δημοσ. 24 Σεπτεμβρίου 2014 Αλλο ενα ερωτημα, επειδη το ενα αρχειο πρεπει να αντιγραφη σε εναν φακελο στο program file πρεπει να του δωσω αδεια, μου πεταει μηνυμα οτι δεν επιτρεπεται η προσβαση! Φυσικά. Αυτό που θες να κάνεις δεν είναι τίποτα διαφορετικό από αυτό που κάνουν οι ιοί. Και αν κάνεις την εφαρμογή elevate να τρέχει σε administrator mode, πολύ πιθανόν να στην μπλοκάρει κάποιο antivirus, αν είναι service. Αν είναι winforms/wpf/silverlight εφαρμογή και ο χρήστης εκτελεί κάποια εντολή, μπορείς να την κάνεις ως παραπάνω, να τρέχει σε admin mode, αλλά κάθε φορά θα χρειάζεται ο χρήστης να αποδέχεται την εκτέλεση της εντολής.
BloodDonor89 Δημοσ. 13 Νοεμβρίου 2014 Μέλος Δημοσ. 13 Νοεμβρίου 2014 καλησπερα, επαναφερω το θεμα, γιατι εχω κολλησει εδω και 2 μερες σε κατι και δεν μπορω να το βρω πουθενα: private void button10_Click(object sender, EventArgs e) { string SourcePath = @folderpath2.SelectedPath; string DestinationPath = @folderpath3.SelectedPath; foreach (string dirPath in Directory.GetDirectories(SourcePath, "*", SearchOption.AllDirectories)) Directory.CreateDirectory(dirPath.Replace(SourcePath, DestinationPath)); foreach (string newPath in Directory.GetFiles(SourcePath, "*.*", SearchOption.AllDirectories)) File.Copy(newPath, newPath.Replace(SourcePath, DestinationPath), true); } Αυτο που θελω να κανει ο κωδικας ειναι να αντιγραφει τον φακελο που επιλεγω κι οτι υπαρχει μεσα σ αυτο κι οχι μονο οτι υπαρχει μεσα στον φακελο που επιλεγω. πχ. C:\Users\default\Desktop\New folder (7) μεσα στον φακελο New folder (7) υπαρχει ενας φακελος ο οποιος αντιγράφεται στην θεση που του λεω και οχι οι φακελοι New folder (7) και οτι αλλο υπαρχει μεσα σ αυτο. Τι πρεπει να διορθωσω;
albNik Δημοσ. 13 Νοεμβρίου 2014 Δημοσ. 13 Νοεμβρίου 2014 Πρεπει να το κανεις αναδρομικά http://stackoverflow.com/a/7146097/1750895
BloodDonor89 Δημοσ. 13 Νοεμβρίου 2014 Μέλος Δημοσ. 13 Νοεμβρίου 2014 Αυτο το ειχα δει, αλλα μου εβγαζε προβλημα στο Copy που εχω το κοκκινο περιγραμμα.
albNik Δημοσ. 13 Νοεμβρίου 2014 Δημοσ. 13 Νοεμβρίου 2014 Copy ειναι το ονομα, και καλει τον εαυτό της private void button10_Click(object sender, EventArgs e) { Copy(@folderpath2.SelectedPath,@folderpath3.SelectedPath); }
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα