c刪除文件夾及文件
㈠ c語言(vc6.0) 如何刪除文件或文件夾,文件夾的目錄中有空格
加上雙引號
比如這樣
system("del \"d:\\aaa aaa a.txt\"")
所以一般別給文件名加空格,麻煩
刪除文件夾和這個差不多
用rd 命令
㈡ 如何用dos命令刪除文件夾及子文件夾下文件
方法和詳細的操作步驟如下:
1、第一步,win+r打開「運行」對話框,輸入CMD,然後單擊「確定」按鈕,見下圖,轉到下面的步驟。
㈢ 如何在VS里用C語言刪除文件夾
刪除文件夾可以使用dos命令rd
在C語言中,加入頭文件#include <stdlib.h>
在需要刪除文件夾的語句位置使用system("rd D:/test")即可
㈣ 在C語言中有沒有刪除文件夾的函數
可以用rmdir
不過 限制是 文件夾必須是空的
如果文件夾非空 需要遍歷遞歸調用remove和rmdir刪除所有文件和子文件夾。
事實上
系統命令的rm -r 也是rmdir和remove 遞歸的。
㈤ c\c++怎樣刪除文件夾
第一種方法
1.SHFileOperation
SHFILEOPSTRUCT FileOp;
ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));
FileOp.fFlags = FOF_SILENT|FOF_NOCONFIRMATION;
FileOp.hNameMappings = NULL;
FileOp.hwnd = NULL;
FileOp.lpszProgressTitle = NULL;
FileOp.pFrom = lpszPath;
FileOp.pTo = NULL;
FileOp.wFunc = FO_DELETE;
SHFileOperation(&FileOp);
如果加了FOF_SILENT標志,那麼在函數調用的時候,即使出錯,也不會彈框提示,但是,今天發現,如果這個目錄是共享的,依然還是會彈框提示。不知道是不是一個Bug呢?
2.CFileFind
bool DeleteDirectory(char* strDirName)
{
CFileFind tempFind;
char strTempFileFind[MAX_PATH];
sprintf(strTempFileFind,"%s\\*.*", strDirName);
BOOL IsFinded = tempFind.FindFile(strTempFileFind);
while (IsFinded)
{
IsFinded = tempFind.FindNextFile();
if (!tempFind.IsDots())
{
char strFoundFileName[MAX_PATH];
strcpy(strFoundFileName, tempFind.GetFileName().GetBuffer(MAX_PATH));
if (tempFind.IsDirectory())
{
char strTempDir[MAX_PATH];
sprintf(strTempDir,"%s\\%s", strDirName, strFoundFileName);
DeleteDirectory(strTempDir);
}
else
{
char strTempFileName[MAX_PATH];
sprintf(strTempFileName,"%s\\%s", strDirName, strFoundFileName);
DeleteFile(sTempFileName);
}
}
}
tempFind.Close();
if(!RemoveDirectory(strDirName))
{
return FALSE;
}
return TRUE;
}
這個主要通過遞歸的方法,依次刪除文件,直到目錄為空,刪除目錄、文件夾。
第二種
//這是用vc的方法:
bool MyDeleteFile(char * lpszPath)
{
SHFILEOPSTRUCT FileOp={0};
FileOp.fFlags = FOF_ALLOWUNDO | //允許放回回收站
FOF_NOCONFIRMATION; //不出現確認對話框
FileOp.pFrom = lpszPath;
FileOp.pTo = NULL; //一定要是NULL
FileOp.wFunc = FO_DELETE; //刪除操作
return SHFileOperation(&FileOp) == 0;
}
void MyDialog::OnButton3()
{
// MyDeleteFile("d:\\PID\0\0"); //刪除一個文件夾
MyDeleteFile("d:\\PID.dsp\0d:\\PID.dsw\0\0"); //刪除多個文件
}
void MyDialog::OnButton3()
{
// MyDeleteFile("d:\\PID\0\0"); //刪除一個文件夾
MyDeleteFile("d:\\PID.dsp\0d:\\PID.dsw\0\0"); //刪除多個文件
}
㈥ 如何刪除一個路徑下的所有文件夾和文件
直接刪除該路徑就行了啊,如果你說的路徑是某個盤根路徑那就格式化此盤。
㈦ c語言怎麼刪除一個文件夾里的所有文件
比如說你要刪除所有C盤中的文件:
system("del *.*");
del是DOS下的刪除命令, *.*這個我不用解釋了吧?
㈧ c語言怎麼刪除文件夾里所有文件
如果想簡單
就直接調用系統命令
比如 windows下
system("delete xxxx\\*");
Linux下
system("rm xxxx/*")
如果想用純C介面
先opendir
然後循環遍歷readdir
依次調用remove 函數刪除文件。
㈨ c:\windows文件夾里哪些東西是可以刪除的
C盤都是系統文件,刪錯很容易出問題,可以使用系統自帶的清理程序進行清理。
如下參考:
1.單擊桌面左下角的「開始」菜單,然後單擊「設置」圖標。
㈩ c語言 (vc6.0)求程序如何刪除文件夾下的所有文件且不刪除文件夾下的文件夾
// Win32.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "Win32.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
using namespace std;
/////////////////////////////////////////////////////////////////////////////
// The one and only application object
CWinApp theApp;
/////////////////////////////////////////////////////
// char dir[] = "d:\\test\\";
// DeleteAnyFiles(dir);
/////////////////////////////////////////////////////
void DeleteAnyFiles(const char *dir)
{
WIN32_FIND_DATA finder;
HANDLE hFileFind;
char search[MAX_PATH];
strcpy(search, dir);
strcat(search, "*.*");
hFileFind = FindFirstFile(search, &finder);
if (hFileFind != INVALID_HANDLE_VALUE)
{
do
{
char path[MAX_PATH];
strcpy(path, dir);
strcat(path, finder.cFileName);
if (!(finder.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
DeleteFile(path);
} while (FindNextFile(hFileFind, &finder) != 0);
FindClose(hFileFind);
}
}
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetMoleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
CString strHello;
strHello.LoadString(IDS_HELLO);
cout << (LPCTSTR)strHello << endl;
}
/* 測試目錄為d:\\test\\,可以隨意改變,但目錄分割符必須是\\ */
char dir[] = "d:\\test\\";
DeleteAnyFiles(dir);
return nRetCode;
}