如何把一个文件夹里的文件剪切到另一个文件夹里?

时间:2022-01-10 05:51:11
如何用C++ BUILDER把一个文件夹里的文件剪切到另一个文件夹里?

6 个解决方案

#1


曲线救国,嘻嘻
先CopyFileTo(),再FileDelete()

#2


BOOL MoveDir(LPTSTR SouDir, LPTSTR DesDir)
{
   AnsiString SouStr;
   AnsiString DesStr;
   SHFILEOPSTRUCT sfo;

   memset(&sfo, 0, sizeof(sfo));
   SouStr = SouDir; SouStr += '\0';
   DesStr = DesDir; DesStr += '\0';
   lpfile.wFunc = FO_MOVE;
   lpfile.pFrom = SouStr.c_str();
   lpfile.pTo = DesStr.c_str() ;
   return SHFileOperation(&sfo);
}

#3


lpfile是什么类型?

#4


上面的lpfile,应该是sfo

#5


以上程序当两个目录都为根目录时程序正常,
例如:SouStr="D:\log.txt";
     DesStr="E:\log.txt";
但当其中一个目录不是根目录时程序就出现警告:"无法复制log:文件名,目录名或卷标语法不正确."
例如:SouStr="D:\log.txt";
     DesStr="E:\resource\log.txt"
应该如何解决?

#6


SouStr="D:\\log.txt";
DesStr="E:\\resource\\log.txt"

#1


曲线救国,嘻嘻
先CopyFileTo(),再FileDelete()

#2


BOOL MoveDir(LPTSTR SouDir, LPTSTR DesDir)
{
   AnsiString SouStr;
   AnsiString DesStr;
   SHFILEOPSTRUCT sfo;

   memset(&sfo, 0, sizeof(sfo));
   SouStr = SouDir; SouStr += '\0';
   DesStr = DesDir; DesStr += '\0';
   lpfile.wFunc = FO_MOVE;
   lpfile.pFrom = SouStr.c_str();
   lpfile.pTo = DesStr.c_str() ;
   return SHFileOperation(&sfo);
}

#3


lpfile是什么类型?

#4


上面的lpfile,应该是sfo

#5


以上程序当两个目录都为根目录时程序正常,
例如:SouStr="D:\log.txt";
     DesStr="E:\log.txt";
但当其中一个目录不是根目录时程序就出现警告:"无法复制log:文件名,目录名或卷标语法不正确."
例如:SouStr="D:\log.txt";
     DesStr="E:\resource\log.txt"
应该如何解决?

#6


SouStr="D:\\log.txt";
DesStr="E:\\resource\\log.txt"