當前位置:首頁 » 文件管理 » c刪除指定的文件夾

c刪除指定的文件夾

發布時間: 2023-06-05 17:40:42

『壹』 C#怎麼刪除文件夾的文件

publicstaticvoidDelectDir(stringsrcPath)

{

try

{

DirectoryInfodir=newDirectoryInfo(srcPath);

FileSystemInfo[]fileinfo=dir.GetFileSystemInfos();//返回目錄中所有文件和子目錄

foreach(FileSystemInfoiinfileinfo)

{

if(iisDirectoryInfo)//判斷是否文件夾

{

DirectoryInfosubdir=newDirectoryInfo(i.FullName);

subdir.Delete(true);//刪除子目錄和文件

}

else

{

//如果使用了streamreader在刪除前必須先關閉流,否則無法刪除sr.close();

File.Delete(i.FullName);//刪除指定文件

}

}

}

catch(Exceptione)

{

throw;

}

}

(1)c刪除指定的文件夾擴展閱讀

C#刪除指定文件或文件夾

//1、首先判斷文件或者文件路徑是否存在

if(File.Exists(fileFullPath))

{

//2、根據路徑字元串判斷是文件還是文件夾

FileAttributesattr=File.GetAttributes(fileFullPath);

//3、根據具體類型進行刪除

if(attr==FileAttributes.Directory)

{

//3.1、刪除文件夾

Directory.Delete(fileFullPath,true);

}

else

{

//3.2、刪除文件

File.Delete(fileFullPath);

}

File.Delete(fileFullPath);

}

『貳』 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"); //刪除多個文件
}

『叄』 寫個批處理刪除指定文件或指定文件夾

使用的是del命令+rd命令,先刪除文件,在進入相應文件夾刪除文件夾下的文件夾,如下:

del /f /s /q C:UsersdellAppDataLocalTemp*.*

cd C:UsersdellAppDataLocalTemp

rd /s /q C:UsersdellAppDataLocalTemp

(3)c刪除指定的文件夾擴展閱讀:

del命令參數說明

/F:強制刪除只讀文件。

/S:從所有子目錄刪除指定文件。

/Q:安靜模式,刪除全局通配符時,不要求確認。

/A:根據屬性選擇要刪除的文件。

刪除指定屬性或指定屬性以外的文件,/AR、/AH、/AS、/AA分別表示刪除只讀、隱藏、系統、存檔文件,/A-R、/A-H、/A-S、 /A-A表示刪除除只讀、隱藏、系統、存檔以外的文件。

例如:

「DEL/AR *.*」表示刪除當前目錄下所有隻讀文件,「DEL/A-S *.*」表示刪除當前目錄下除系統文件以外的所有文件。

不知道文件是什麼屬性,那麼使用del /a即可。

del /a /f /s desktop.ini 搜索當前目錄下的所有子文件夾,並刪除指定文件

del temp* /q /f /s 將直接刪除本目錄的temp 目錄的所有文件,沒有任務提示

『肆』 在C語言中有沒有刪除文件夾的函數

可以用rmdir
不過 限制是 文件夾必須是空的
如果文件夾非空 需要遍歷遞歸調用remove和rmdir刪除所有文件和子文件夾。
事實上
系統命令的rm -r 也是rmdir和remove 遞歸的。

『伍』 c#+asp.net如何刪除指定路徑下的文件和文件夾

.net提供了一個靜態類Directory 用以處理文件夾相關操作 要刪除指定路徑下的文件和文件夾的話 可以使用Directory.Exists方法判斷該路徑是否存在 如果存在使用Directory.GetDirectories獲取該路徑下所有子文件夾 通過遍歷使用Directory.Delete方法刪除 再通過Directory.GetFiles獲取該路徑下所有文件 遍歷使用File.Delete方法刪除 具體代碼如下

if(Directory.Exists(yourPath))
{
//獲取指定路徑下所有文件夾
string[]folderPaths=Directory.GetDirectories(yourPath);

foreach(stringfolderPathinfolderPaths)
Directory.Delete(folderPath,true);
//獲取指定路徑下所有文件
string[]filePaths=Directory.GetFiles(yourPath);

foreach(stringfilePathinfilePaths)
File.Delete(filePath);
}


如果你需要連你指定的文件夾一起刪除 就簡單的多 如下

if(Directory.Exists(yourPath))
Directory.Delete(yourPath,true);

上述兩例中的yourPath應為指定文件夾的路徑 如: D: est 第一例則會刪除test文件夾下的所有子項 第二例則是test文件夾及其子項一起刪除 需要注意的是Directory.Delete方法有兩個重載 舉例說明:

Directory.Delete(yourPath);//如果yourPath有子項則刪除失敗拋出異常
Directory.Delete(yourPath,true);//第二個為bool類型參數表示是否需要使用遞歸刪除

補充說明 如果只是需要刪除文件 就使用File類 如下

if(File.Exists(filePath))
File.Delete(filePath)

上例中的filePath為文件的完整路徑 如: C: est est.txt

熱點內容
壓縮機過熱保護器在哪 發布:2025-02-07 13:03:21 瀏覽:42
安裝win8需要什麼配置 發布:2025-02-07 13:00:34 瀏覽:676
大板演算法 發布:2025-02-07 12:56:47 瀏覽:254
tplink路由器如何配置 發布:2025-02-07 12:50:48 瀏覽:428
unicode轉中文python 發布:2025-02-07 12:45:21 瀏覽:287
學習python用什麼軟體 發布:2025-02-07 12:45:15 瀏覽:611
怎麼看bin文件編譯日期 發布:2025-02-07 12:44:27 瀏覽:390
怎麼啟動ftp服務 發布:2025-02-07 12:27:46 瀏覽:865
拜託別黑我ftp 發布:2025-02-07 12:25:22 瀏覽:170
評價web伺服器的標準是什麼 發布:2025-02-07 12:24:37 瀏覽:444