Je voulais déplacer le fichier d'un dossier vers un autre dossier (cible). Si le même fichier existe déjà dans le dossier cible, je souhaite renommer .how pour l'implémenter en C#.Opérations sur les fichiers
Merci à l'avance Sekar
Je voulais déplacer le fichier d'un dossier vers un autre dossier (cible). Si le même fichier existe déjà dans le dossier cible, je souhaite renommer .how pour l'implémenter en C#.Opérations sur les fichiers
Merci à l'avance Sekar
Au fond, c'est:
string source = ..., dest = ...; // the full paths
if(File.Exists(dest))
{
File.Move(dest, Path.GetTempFileName());
}
File.Move(source, dest);
Vous voulez utiliser la System.IO.Fil classe e et vérifier l'existence à l'avance du fichier.
if(File.Exists("myfile.txt"))
File.Move("myfile.txt", "myfile.bak");
File.Move("myotherfile.txt","myfile.txt");
System.IO.File. * a tout ce dont vous avez besoin.
System.IO.File.Exists = Pour vérifier si le fichier existe. System.IO.File.Move = Pour déplacer (ou renommer un fichier).
Si vous préférez un comportement fenêtres de style, donc il y a le code que je utilise pour une telle opération
public static void FileMove(string src,ref string dest,bool overwrite)
{
if (!File.Exists(src))
throw new ArgumentException("src");
File.SetAttributes(src,FileAttributes.Normal);
string destinationDir = Path.GetDirectoryName(dest);
if (!Directory.Exists(destinationDir))
{
Directory.CreateDirectory(destinationDir);
}
try
{
File.Move(src,dest);
}
catch (IOException)
{
//error # 183 - file already exists
if (Marshal.GetLastWin32Error() != 183)
throw;
if (overwrite)
{
File.SetAttributes(dest,FileAttributes.Normal);
File.Delete(dest);
File.Move(src,dest);
}
else
{
string name = Path.GetFileNameWithoutExtension(dest);
string ext = Path.GetExtension(dest);
int i = 0;
do
{
dest = Path.Combine(destinationDir,name
+ ((int)i++).ToString("_Copy(#);_Copy(#);_Copy")
+ ext);
}
while (File.Exists(dest));
File.Move(src,dest);
}
}
}
Et que voulez-vous de renommer le fichier? Et si ce nom est pris? Et celui-là? –