Noob file.copy вопрос, имеющий проблемы с копированием .exe файлов C # - PullRequest
2 голосов
/ 12 мая 2011

Я пытаюсь скопировать файл .exe из временного каталога на рабочий стол, однако, когда я делаю это, он просто создает новый .exe, в котором нет данных, и имеет размер 0 КБ.Я проверил этот синтаксис с файлом .txt, и он полностью скопировал его, по какой-то причине он просто отказывается копировать файлы .exe.Я попытался выполнить его, используя string path, чтобы убедиться, что он захватывает правильное местоположение, и это сработало, запустив программу helloworld.exe в каталоге temp.Также я не получаю никаких ошибок компилятора, я нахожусь на Windows 7 x86.Спасибо!

string path = Path.GetTempPath() + "helloworld.exe"; // grabing the temp directory
string path2 = "C:\\users\\grant\\desktop\\helloworld.exe"; //this is where i want
                                                          //it to copy to
File.Copy(path, path2, true); //copying the 2 paths
Process.Start(path); //running the .exe in the temp directory to test if it works

Ответы [ 3 ]

1 голос
/ 12 мая 2011

Помните, что с File.Copy в C # вам нужно убедиться, что конечный файл не существует - File.Copy завершится ошибкой, если вы попытаетесь скопировать в существующий файл. Так что это может быть полезным.

Блок try / catch также может быть полезен:

 try 
    {
       string path = Path.GetTempPath() + "helloworld.exe"; 
       string path2 = "C:\\users\\grant\\desktop\\helloworld.exe"; 
       File.Copy(path, path2, true);
    } 

 catch(Exception e)
    {
        Console.WriteLine("{0} exception caught.", e);
    }
1 голос
/ 12 мая 2011

Используется ли .exe во время копирования?

Кроме того, есть ли вероятность, что программное обеспечение AV остановит ваше приложение, сделав .exe копии?

0 голосов
/ 12 мая 2011

Попробуйте переименовать его до и после копирования в .txt, чтобы увидеть, относится ли он к .exe, даже если кажется, что что-то не так в вашей среде

...