回 帖 发 新 帖 刷新版面

主题:如何判断子目录是否存在

我要解决如下问题
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个回复)

沙发

1. def 的硬是判断法
2. 45的中断调用法
3. 7.1的CURDIR$
4. SHELL的DIR

板凳

请看置顶帖子: Quick Basic 7.1 扩展函数库(不断更新)

FUNCTION FindDir$ (Filespec$,FileName$)
在Filespec$路径下搜索完全匹配于FileName$目录名(不支持长文件名)
调用时参数:
Filespec$ 要搜索的路径
FileName$ 要搜索的内容
返回:
FindDir$= ""  没找到
         <>""找到所有匹配内容并返回搜索结果列表,项目间用","字符隔开

3 楼

我要解决如下问题
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

我来回复

您尚未登录,请登录后再回复。点此登录或注册