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

αντιγραφη ενος αρχειου απο το τρεχων path, σε ενα αλλο


ST0RM

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

Φτιαχνω ενα console application, το οποιο δημιουργει μια directory και κανει αντιγραφη και επικολληση εκει το προγραμμα που θελω. Το θεμα ειναι οτι δεν ξερω καθε φορα ποιο θα ειναι το path. Γι'αυτο και εβαλα το Directory.GetCurrentDirectory() method για να παρω την directory που ειναι το αρχειο. Αναλυτικα ο κωδικας μου μεχρι τωρα σε αυτο το "κομματι" ειναι:

public void move_file()
        {
            string current_path = Directory.GetCurrentDirectory();
            string target_path = @"C:\Program Files\Revolution Software";
            
        }

Το θεμα μου ειναι πως θα συνεχισω/τελειωσω τον κωδικα. Δηλαδη, τι θα γραψω για να κανει αντιγραφη απο την τρεχων directory το αρχειο, στην target directory.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ωραιος !! Το θεμα ειναι οτι δεν μπορω να κανω αντιγραφη-επικολληση τα αρχεια .ink(αρχεια συντομευσης) με αυτο το τροπο. Εχει κανενας καμια ιδεα γιατι ??

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τι σημαίνει "δε μπορώ"?

 

Αν αποτυχαίνει η File.Copy τότε σου δίνει Exception που εξηγεί ακριβώς ποιό είναι το πρόβλημα.

Οχι. Δεν βγαζει exception. Ειναι σαν να εγινε επιτυχως η διαδικασια. Επισης το αρχειο .exe που ηθελα να μεταφερω δεν ειχε προβλημα, εγινε κανονικα η μεταφορα. Με το αρχειο ink ειναι το θεμα. Πιστευω οτι κανω κατι λαθος στην ονομασια του αρχειου. Το αρχειο εχει σαν(official) ονομα: "Account Dumper.exe - Συντόμευση". Το εβαλα ετσι. Το εβαλα ως "Account Dumper.exe - Συντόμευση.ink" το εβαλα επισης σαν "Account Dumper.exe.ink" οπως επισης και σαν "Account Dumper.ink". Τιποτα δεν δουλεψε. Να ποσταρω τον κωδικα ?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν είναι δυνατόν να έκανες οτιδήποτε και να απέτυχε η Copy και να μην έδωσε exception. Άρα ή κάπου έφαγες το exception χωρίς να το καταλάβεις, ή το αρχείο υπάρχει και κάτι άλλο συμβαίνει. Πόσταρε και τον κώδικα αν θες.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι εννοειτε, καποια χαζομαρα εχω κανει εγω. Δεν φταιει ποτε ο κωδικας :)  Ο κωδικας αυτης της συναρτησης ειναι αυτος:

 public static void create_shortcut()
        {
            string sourceDir = Directory.GetCurrentDirectory();
            string Desktop_Path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

            string[] exeList = Directory.GetFiles(sourceDir, "Account Dumper.Ink");

            foreach (string f in exeList)
            {

                string fName = f.Substring(sourceDir.Length + 1);

                try
                {
                    File.Copy(Path.Combine(sourceDir, fName), Path.Combine(Desktop_Path, fName));
                }

                catch (IOException copyError)
                {
                    Console.WriteLine(copyError.Message);
                }
            }
        }
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Βασικά εδώ έχουμε φτάσει στο σημείο που πρέπει να κάνεις good old fashioned debugging. Έχει μέσα τίποτα το exeList; Μήπως παίρνεις κάποιο άλλο exception εκτός από IOException και χάνεται κάπου αλλού; Δε βλέπω τίποτα προφανώς λάθος στον κώδικα που δίνεις.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Οχι. Δεν βγαζει exception. Ειναι σαν να εγινε επιτυχως η διαδικασια. Επισης το αρχειο .exe που ηθελα να μεταφερω δεν ειχε προβλημα, εγινε κανονικα η μεταφορα. Με το αρχειο ink ειναι το θεμα. Πιστευω οτι κανω κατι λαθος στην ονομασια του αρχειου. Το αρχειο εχει σαν(official) ονομα: "Account Dumper.exe - Συντόμευση". Το εβαλα ετσι. Το εβαλα ως "Account Dumper.exe - Συντόμευση.ink" το εβαλα επισης σαν "Account Dumper.exe.ink" οπως επισης και σαν "Account Dumper.ink". Τιποτα δεν δουλεψε. Να ποσταρω τον κωδικα ?

 

Δηλαδή δεν πήρες FileNotFoundException μιας και δεν είναι ink αλλά lnk ?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όπως ανέφερε ο defacer κακώς περιορίζεις τα exceptions σε ΙΟ μόνο, μπορεί κάτι άλλο να παίζει και να το πνίγεις με αυτό τον τρόπο.

 

Γράψτο έτσι για να πιάσεις τυχόν άλλα exceptions που δεν είναι IO.

 

catch (IOException IO_ex)
{
Console.WriteLine(IO_ex.Message);
}

 

catch (Exception General_ex)
{
Console.WriteLine(General_ex.Message);
}

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δηλαδή δεν πήρες FileNotFoundException μιας και δεν είναι ink αλλά lnk ?

 

Μάλλον αυτό είναι. Απλά δε θα έπαιρνε exception γιατί θα ήταν άδειο το αποτέλεσμα της GetFiles => μηδέν loop iterations.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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