C++ 将文件夹移动到usb驱动器时拒绝访问

C++ 将文件夹移动到usb驱动器时拒绝访问,c++,C++,当我尝试将“HelloWorld”文件夹移动到usb驱动器时,命令行中会显示访问被拒绝 #include<iostream> #include<string.h> using namespace std; int main() { char src[50],dest[50],cmd[100],penPath[1]; cout<<"\nENTER LETTER OF THE FLASH MEMORY (raw letter. E.g:

当我尝试将“HelloWorld”文件夹移动到usb驱动器时,命令行中会显示访问被拒绝

#include<iostream>
#include<string.h>

using namespace std;
int main()
{
  char src[50],dest[50],cmd[100],penPath[1];
  
  cout<<"\nENTER LETTER OF THE FLASH MEMORY (raw letter.  E.g: I,H,F,...): ";
  cin>>penPath;

  strcpy(src,"%USERPROFILE%\\Desktop\\HelloWorld");
  strcpy(dest,penPath);
  strcat(dest,":\\");
 
  strcpy(cmd,"move ");
  strcat(cmd,src);                                          
  strcat(cmd," ");
  strcat(cmd,dest);
  system(cmd);
  return 0;
}

#包括
#包括
使用名称空间std;
int main()
{
char src[50]、dest[50]、cmd[100]、penPath[1];
coutpenPath;
strcpy(src,“%USERPROFILE%\\Desktop\\HelloWorld”);
strcpy(dest,penPath);
strcat(dest,“:\”);
strcpy(cmd,“move”);
strcat(cmd,src);
strcat(cmd,“”);
strcat(命令、目的地);
系统(cmd);
返回0;
}
我认为问题与给定的usb路径有关,但我不知道如何解决基于此路径“%USERPROFILE%\Desktop\HelloWorld”的问题,您似乎正在Windows上运行此操作

这个问题在这里得到了回答:

move命令无法将文件夹移动到另一个驱动器,您必须使用robocopy命令

您的命令应该是这样的:

robocopy %USERPROFILE%\Desktop\HelloWorld F:\ /E /MOVE
其中,F由输入的驱动器号替换。看起来连接字符串没有问题,所以我让你来做


/E
标志告诉robocopy复制所有子目录,
/MOVE
标志告诉它在复制到新位置后删除原始目录。

如果在CMD终端中手动执行此操作,会发生什么?那个问题与C++代码几乎无关,但确切地说是错误消息所说的:你没有访问目标文件夹的权限。尝试以管理员权限运行程序。不要在
系统上浪费时间。你正在运行一个运行另一个程序的程序,而你可以直接执行契约。因为这是一台Windows PC,