[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
static extern bool CopyFile(string lpExistingFileName, string lpNewFileName, bool bFailIfExists);
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.StdCall, SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool CopyFile(
[MarshalAs(UnmanagedType.LPWStr)]string lpExistingFileName,
[MarshalAs(UnmanagedType.LPWStr)]string lpNewFileName,
[MarshalAs(UnmanagedType.Bool)]bool bFailIfExists);
<DllImport("kernel32.dll", CharSet := CharSet.Unicode, CallingConvention := CallingConvention.StdCall, SetLastError := True)>
Shared Function CopyFile(<MarshalAs(UnmanagedType.LPWStr)> ByVal lpExistingFileName As String, <MarshalAs(UnmanagedType.LPWStr)> ByVal lpNewFileName As String, <MarshalAs(UnmanagedType.Bool)> ByVal bFailIfExists As Boolean) As <MarshalAs(UnmanagedType.Bool)> Boolean
End Function
None.
None.
Please add some!
using System;
using System.Runtime.InteropServices;
namespace MyNamespace
{
class Program
{
[DllImport("kernel32.dll")]
static extern bool CopyFile(string lpExistingFileName, string lpNewFileName, bool bFailIfExists);
/*
lpExistingFileName - Source File
lpNewFileName - Destination File
bFailIfExists - Whether or not CopyFile will overwrite lpNewFileName if the file exists.
If true, CopyFile will return false if lpNewFileName is an existing file.
*/
static void Main(string[] args)
{
string SourceFile = "C:\\MySourceFile.txt"; // This file must exist or else CopyFile will fail and return false.
string DestinationFile = "C:\\MyDestinatioFile.txt";
if (CopyFile(SourceFile, DestinationFile, true))
{
// Your code here if CopyFile succeeds
Console.WriteLine("File successfully copied.");
} else
{
// Your code here if CopyFile fails
Console.WriteLine("File could not be copied. The file already exists.");
}
}
}
}
public static void System.IO.File.Copy(System.String sourceFileName , System.String destFileName , System.Boolean overwrite)