主题:如何判断子目录是否存在
kaike1999
[专家分:0] 发布于 2005-07-07 13:45:00
我要解决如下问题
1 .如果子目录C:\baobf不存在,则建立C:\baobf.
2 .如果是每年的1月1日,或者是C:\baobf\年(如C:\baobf\2005)不存在则建立
C:\baobf\年(如C:\baobf\2005)子目录.
3 .如果是每月的1日,则在本月上月的年份目录下建立一个本月上月的年月的子目录(如 2005年1月日要建立C:\baobf\2004\200412目录),并将c:\tk\bao目录下的所有文件拷贝到C:\baobf\2004\200412目录下,然后清除c:\tk\bao目录下的所有文件;如果年月子目录存在则不执行建立年月子目录和拷贝清除文件.
回复列表 (共3个回复)
沙发
moz [专家分:37620] 发布于 2005-07-07 17:02:00
1. def 的硬是判断法
2. 45的中断调用法
3. 7.1的CURDIR$
4. SHELL的DIR
板凳
QB71 [专家分:1300] 发布于 2005-07-07 17:25:00
请看置顶帖子: Quick Basic 7.1 扩展函数库(不断更新)
FUNCTION FindDir$ (Filespec$,FileName$)
在Filespec$路径下搜索完全匹配于FileName$目录名(不支持长文件名)
调用时参数:
Filespec$ 要搜索的路径
FileName$ 要搜索的内容
返回:
FindDir$= "" 没找到
<>""找到所有匹配内容并返回搜索结果列表,项目间用","字符隔开
3 楼
QB71 [专家分:1300] 发布于 2005-07-09 22:52:00
我要解决如下问题
1 .如果子目录C:\baobf不存在,则建立C:\baobf.
if finddir("c:\baobf")="" then mkdir "c:\baobf"
2 .如果是每年的1月1日,或者是C:\baobf\年(如C:\baobf\2005)不存在则建立
C:\baobf\年(如C:\baobf\2005)子目录.
dt$=date$
year%=val(mid$(dt$,7,4))
Month%=val(left$(dt$,2))
day%=val(mid$(dt$,4,2))
if( month%=1 and day%=1) or findir("c:\baobf\"+ltrim$(str$(year%)))="" then
mkdir "c:\baobf\"+ltrim$(str$(year%))
endif
3 .如果是每月的1日,则在本月上月的年份目录下建立一个本月上月的年月的子目录(如 2005年1月日要建立C:\baobf\2004\200412目录),并将c:\tk\bao目录下的所有文件拷贝到C:\baobf\2004\200412目录下,然后清除c:\tk\bao目录下的所有文件;如果年月子目录存在则不执行建立年月子目录和拷贝清除文件.
if day%=1 then
if Month%=1 then
t$=ltrim$(str$(Year%-1))+"12"
else
t$=ltrim$(str$(Year%))+ltrim$(str$Month%))
endif
t$="c:\baobf\"+t$
if finddir(t$)="" then
'拷贝文件
'删除文件
endif
endif
我来回复