注册 登录
编程论坛 VFP论坛

删除指定目录

aroffice 发布于 2021-11-12 19:45, 1999 次点击
有两个字符串,保存的均是的目录路径
mypath="E:\Documents\Desktop\xj"
t_mypath="E:\Documents\Desktop\xj\photo\测试路径\新建文件夹 (2)"
现在要求是的删除 E:\Documents\Desktop\xj\photo\  这个目录以及以其下的所有文件,也就是前一个目录路径中的下一级目录中的一个
而且  这个目录中还有很多文件夹的  E:\Documents\Desktop\xj
有什么好办法么?
12 回复
#2
radiofan2021-11-12 20:05
试试看myfll

函数名:DeleteFiles(cFileList,[lRecyclebin[,lShowProgress]])
缩写:delf
删除文件或文件夹,此函数类似delete file命令,但此函数可以删除子文件夹,可以将文件删除到回收站,可以显示进度。此函数受Set Safety开关影响,为on时提示是否删除。
返回值:
逻辑值,为真时删除成功。
参数:
cFileList:字符型,要删除的文件或文件夹列表
[lRecyclebin]:可选,逻辑型,为真时删除到回收站,默认为假
[lShowProgress]可选,逻辑型,为真时显示进度,默认为假
示例代码
Set Library To myFll

Set Safety on
?DeleteFiles("*.*",.T.) && 删除当前目录下所有文件到回收站

Set Library To

#3
吹水佬2021-11-12 20:26
fs = Createobject("Scripting.FileSystemObject")
fs.DeleteFolder("C:\TEMP\TEMP1")
#4
aroffice2021-11-13 09:04
回复 2楼 radiofan
关键的是怎么提取出来这个当前目前中的下一级目录
#5
aroffice2021-11-13 09:05
回复 3楼 吹水佬
难点不在于删除,这个想办法能够解决。
#6
fyyylyl2021-11-13 10:49
adir()、eras、rd
#7
吹水佬2021-11-13 11:14
以下是引用aroffice在2021-11-13 09:05:10的发言:

难点不在于删除,这个想办法能够解决。

问题不是“删除指定目录”吗?
#8
吹水佬2021-11-13 11:19
以下是引用aroffice在2021-11-12 19:45:30的发言:

现在要求是的删除 E:\Documents\Desktop\xj\photo\  这个目录以及以其下的所有文件

fs.DeleteFolder("E:\Documents\Desktop\xj\photo")
这样不可以吗?
#9
laowan0012021-11-13 11:40
回复 5楼 aroffice
难点在哪儿呢?
#10
aroffice2021-11-13 11:55
回复 8楼 吹水佬
fs.DeleteFolder("E:\Documents\Desktop\xj\photo")
这两个目录是变化的,
前面E:\Documents\Desktop\xj\  是当前目录
这个目录中有很多文件夹,每个文件夹中保存有待处理完成的资料,每一份资料中可能会有多重文件夹,处理完成后就将这个文件夹给删除了。接着处理下一个,可能处理的过程中这个文件夹可能还会增加文件夹,新增的文件夹名称会是各种各样的。
直到将这个当前目录中的所有文件夹全部处理完成,清空这个目录内的所有文件夹。
处理的时候就会读取到这个待处理文件夹中的最下层文件夹,所以新的字符串中保存着这个文件夹的最长路径。

[此贴子已经被作者于2021-11-13 11:57编辑过]

#11
aroffice2021-11-13 11:56
回复 9楼 laowan001
难点就是定位当前目录中的下一级目录
#12
吹水佬2021-11-13 15:01
回复 10楼 aroffice
标题应该改了
遍历文件或枚举文件
adir()返回的文件属性就可以判断是不是文件夹
#13
xuminxz2021-11-13 17:27
回复 楼主 aroffice
看你的windows是什么版本。如果是XP比较麻烦。win7 win10调用系统的rd命令就可以了
!rd /s /q "&mypath."
1