private void button1_Click(object sender, EventArgs e)
{
File.Copy(@"C:\Users\hjx\Desktop\33333",@"E:\TEST\JavaScriptTEST\JavaScriptTEST\ima");
//FileInfo fi = new FileInfo(@"C:\Users\hjx\Desktop\33333");
//fi.CopyTo(@"E:\TEST\JavaScriptTEST\JavaScriptTEST\ima", true);
MessageBox.Show("111111");
}就这么一段简单的代码 为什么不能实现?报错E:\TEST\JavaScriptTEST\JavaScriptTEST\ima是目录而不是文件,file.copy的参数必须具体到文件的名称吗(xx\xx\xx.jpg?)如果这样那多张图不就会变得很麻烦,我是希望就是一个文件夹里的东西直接复制到另一个文件夹(文件重名则覆盖),希望能有大神帮帮忙
需要循环复制。要具体代码请先采纳。
string[] fs = Directory.GetFiles(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\Svgs");
string fileNewPath=".....";
foreach (string s in fs)
{
File.Copy(s, fileNewPath, true);
}
public void CopyDirectory( string sourceDirName, string destDirName)
{
try
{
if (!Directory.Exists(destDirName))
{
Directory.CreateDirectory(destDirName);
File.SetAttributes(destDirName, File.GetAttributes(sourceDirName));
}
if (destDirName[destDirName.Length - 1] != Path.DirectorySeparatorChar)
destDirName = destDirName + Path.DirectorySeparatorChar;
string[] files = Directory.GetFiles(sourceDirName);
foreach (string file in files)
{
if(File.Exists(destDirName + Path.GetFileName(file)))
continue;
File.Copy(file, destDirName + Path.GetFileName(file),true);
File.SetAttributes(destDirName + Path.GetFileName(file), FileAttributes.Normal);
total++;
}
string[] dirs = Directory.GetDirectories(sourceDirName);
foreach (string dir in dirs)
{
CopyDirectory(dir, destDirName + Path.GetFileName(dir));
}
}
catch (Exception ex)
{
StreamWriter sw = new StreamWriter(Application.StartupPath+"\\log.txt",true);
sw.Write(ex.Message+" "+DateTime.Now+"\r\n");
sw.Close();
}