您的位置:首页 > 其它

Dos命令复制文件夹到制定目录 删除指定目录及其文件夹下的文件

2015-07-10 23:07 906 查看
Dos命令复制文件夹到制定目录:

int GetRootPath(string& sRootPath)

{

char fileName[MAX_PATH] = {0};

GetModuleFileNameA(NULL, fileName,MAX_PATH);

std::string createPath = fileName;

std::string::size_type pos = createPath.rfind('\\');

createPath.erase(pos, createPath.size() - pos);

sRootPath = createPath;

return 0;

}

void CopyDirToDir( char * pSrcDir, char * pdesDir )

{

USES_CONVERSION;

std::string sRootPath;

GetRootPath(sRootPath);

CString srcDir = CString( sRootPath.c_str() );

CString desDir = CString(pdesDir);//CString("E:\\tcopy");

CString strCmd = CString(L"XCOPY ") + CString("\"")+srcDir+CString("\"") + CString(" ") + CString("\"")+desDir+CString("\"") + CString(" /e");

//MessageBox(strCmd);

WinExec( W2A(strCmd), SW_SHOW );

}

二:

关于在MFC中的Winexec函数和system函数执行dos命令的区别:

如果是一般的dos命令,winexec更好一些,因为可以隐藏dos界面窗口;

但是在用到echo的时候,system函数更好一些,

如:复制 文件 a 到指定目录,但是指定目录文件a已存在,然后会提示,是否覆盖,如果全部覆盖,选择A;

一般的命令过程是:

1: XCOPY "a.txt" "E:\copy\a.txt"

2: A

如果想在dos命令中一次,写好,可以这样:echo A| XCOPY "a.txt" "E:\copy\a.txt"

但是在MFC中,如果用winexec函数,就没有执行,但是用system就可以,这里需要注意;

删除指定目录及其文件夹下的文件:

: 百度文章《怎么在dos下删除文件夹》

删除文件夹的方法例如:

你D盘有个文件夹名为bat

删除方法:运行cmd 回车

输入rd d:\bat 回车就行了

删除文件的方法:例如:E盘有个压缩文件名为nest.rar

删除方法:运行cmd 回车

输入del e:\nest.rar 回车就可将这个文件删除.

第一rd只能删除文件夹是不能删除文件的.

第二del 只能删除文件,不能删除文件夹,如果删除文件必须要把文件的格式加上才能删除.

补充问题:如果要删除bat文件夹以下所有文件:

运行cmd

rd /s /q
d:\bak

这样bat 以下不管是文件夹还是文件都可以删除的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: