delphi高手进,删除文件夹问题!急!!!

有一个目录名为show的文件夹,里面有几个名字为CON、1.NUL、PRN、CON2等这些文件夹。请问在delphi中用什么程序可以把这些文件夹都删除掉。请教大家!1楼的... 有一个目录名为 show 的文件夹,里面有几个名字为 CON 、1. NUL、PRN、CON2 等这些文件夹。请问在delphi中用什么程序可以把这些文件夹都删除掉。请教大家!
1楼的你是白痴吗?有点电脑常识的都知道这些文件夹是怎样建立的和删除,我问这个问题,是要delphi用怎样的程序可以象批处理那些把这些文件都删除,你要不会就不要唧唧歪歪,还秘密?你也太弱智了!
用delphi单独创建这些文件夹的命令是 mkdir('d:\CON\');
mkdir('d:\1..\');
删除是rmdir('d:\CON\');
rmdir('d:\1..\');

我看到一个用delphi做的删除目录程序。你无论在那个目录里建多少CON PRN NUL 这样的文件夹,他都可以全部删除掉,请问这样的程序是怎么做的?》

强烈鄙视 __大漠驼铃__ ,大家相互学习才能进步,中国人要是都象你这样,什么时候才能进步,去死吧你垃圾。。全人类鄙视你,!

感谢cb120520025 发给我的那个答案,不过你发给我的那个答案有点复杂,我简化了一下!
procedure DeleteDir(sDirectory: String);
var
sr: TSearchRec;
sPath,sFile: String;
begin
展开
 我来答
cb120520025
2009-01-07 · TA获得超过347个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:575万
展开全部
创建文件夹可以用ForceDirectories函数,可以创建深层文件夹;删除文件夹,可以用到下面的函数,参数为文件夹的路径,如:d:\show

uses ShellAPI;

function DeleteDirectory(p :String): boolean;
var
f: TSHFILEOPSTRUCT;
begin
FillChar(f, SizeOf(f), 0);
with f do
begin
Wnd := 0;
wFunc := FO_DELETE;
pFrom := PChar(p+#0);
pTo := PChar(p+#0);
fFlags := FOF_ALLOWUNDO+FOF_NOCONFIRMATION+FOF_NOERRORUI;
end;
Result := (SHFileOperation(f) = 0);
end;

要简单一点的可以用Winexec调用dos的rd命令,如;winexec('cmd /c rd /s /q d:\show',sw_hide)就一句代码

遇到con文件夹可以先用winexec('cmd /c rd /s /q d:\show\con\',sw_hide)把con文件夹删除,再用winexec('cmd /c rd /s /q d:\show',sw_hide)把show删除
tevistang
2009-01-07 · TA获得超过504个赞
知道小有建树答主
回答量:662
采纳率:0%
帮助的人:468万
展开全部
呵呵,直接给你段代码吧,删目录的,包括里面的子文件夹和文件

function DeleteDirectory(Directory: string): Integer;
var
SR: TSearchRec;
FR: Integer;
begin
Result := -1;
if not DirectoryExists(Directory) then
Exit;
try
FR := FindFirst(Directory + '*.*', FaAnyfile, SR);
while FR = 0 do
begin
if ((SR.Attr and FaDirectory) = FaDirectory) and (SR.Name <> '.') and
(SR.Name <> '..') then
begin
if DeleteDirectory(Directory + SR.Name) = -1 then
Break;
end;
if ((SR.Attr and FaDirectory <> FaDirectory) and (SR.Attr and FaVolumeID
<> FaVolumeID)) then
begin
SysUtils.FileSetAttr(Directory + SR.Name,
SysUtils.FileGetAttr(Directory + SR.Name) and (not
SysUtils.faReadOnly));
if not DeleteFile(PChar(Directory + SR.Name)) then
Break;
end;
FR := FindNext(SR);
end;
SysUtils.FindClose(SR);
RemoveDirectory(PChar(Directory));
Result := 0;
except
Result := -1;
end;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
__大漠驼铃__
2009-01-06 · TA获得超过1508个赞
知道大有可为答主
回答量:2373
采纳率:0%
帮助的人:1948万
展开全部
呵呵,这是秘密。这些表示设备名的东西不是用普通方法建立,也不能用普通方法来删除。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TheFiend
2009-01-07 · TA获得超过625个赞
知道大有可为答主
回答量:1346
采纳率:0%
帮助的人:1225万
展开全部
其实
感觉 你用winExec 然后执行cmd的 rm /q 目录,基本上什么目录都能删除掉.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式