我正在尝试将.exe文件从临时目录复制到桌面,但是当我这样做时,它只会创建一个新.exe其中没有数据并且大小为 0 KB。我用一个.txt文件测试了这个语法,它完全复制了它,它只是出于某种原因拒绝复制.exe文件。我尝试使用 string path
执行它,以确保它抓住正确的位置并且有效,在临时目录中执行 helloworld.exe 程序。此外,我没有收到任何编译器错误,我在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
复制过程中是否正在使用.exe
?
或者,AV 软件是否有可能阻止您的应用程序制作.exe
副本?
请记住,使用 C# 中的 File.Copy,您需要确保目标文件不存在 - 如果您尝试复制到现有文件,File.Copy 将失败。 所以,这可能会有所贡献。
尝试/捕获块也可能很方便:
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);
}
复制到.txt之前和之后重命名它,看看它是否与.exe有关,即使你的环境中似乎有其他问题