Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα, θελω να φτιαξω ενα προγραμματακι για την αντιγραφη αρχειων στο φακελο τα εγγραφα μου.

 

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 ειναι οκ, στο δευτερο μου πεταει μηνυμα οτι δεν υπαρχει η διαδρομη. Αυτο που θελω ειναι η αντιγραφη να γινεται με στον φακελο Τα εγγραφα μου.

 

Ξερει κανεις;

Δημοσ.

Θες το πρόγραμμα αυτό να τρέχει μόνο στο pc σου ή θα μπει και σε άλλα τερματικά? Αν όχι, γιατί δεν βάζεις καρφωτά το path, χωρίς το Environment.SpecialFolder.MyDocuments και όπως είπε ο Albnik σιγουρεύοντας ότι υπάρχουν οι folders test και 1.

  • Like 1
Δημοσ.

Δοκίμασε αυτό:

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);

Δημοσ.

Αλλο ενα ερωτημα, επειδη το ενα αρχειο πρεπει να αντιγραφη σε εναν φακελο στο program file πρεπει να του δωσω αδεια, μου πεταει μηνυμα οτι δεν επιτρεπεται η προσβαση! 

Δημοσ.

Btw μην ενώνετε paths με + γιατί θα έχετε διαρκώς το πρόβλημα με τον αν υπάρχουν trailing \

Καλύτερα να χρησιμοποιείτε Path.Combine(path1, path2).

  • Like 2
Δημοσ.

Αλλο ενα ερωτημα, επειδη το ενα αρχειο πρεπει να αντιγραφη σε εναν φακελο στο program file πρεπει να του δωσω αδεια, μου πεταει μηνυμα οτι δεν επιτρεπεται η προσβαση! 

 

Φυσικά. Αυτό που θες να κάνεις δεν είναι τίποτα διαφορετικό από αυτό που κάνουν οι ιοί. Και αν κάνεις την εφαρμογή elevate να τρέχει σε administrator mode, πολύ πιθανόν να στην μπλοκάρει κάποιο antivirus, αν είναι service.

 

Αν είναι winforms/wpf/silverlight εφαρμογή και ο χρήστης εκτελεί κάποια εντολή, μπορείς να την κάνεις ως παραπάνω, να τρέχει σε admin mode, αλλά κάθε φορά θα χρειάζεται ο χρήστης να αποδέχεται την εκτέλεση της εντολής.

  • 1 μήνα μετά...
Δημοσ.

καλησπερα, επαναφερω το θεμα, γιατι εχω κολλησει εδω και 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) και οτι αλλο υπαρχει μεσα σ αυτο.

 

Τι πρεπει να διορθωσω;

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...