TC官方合作论坛

 找回密码
 立即注册
查看: 1115|回复: 4

[已解决] 创建文本和删除文本的问题

[复制链接]
发表于 2015-5-10 11:26:05 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我写了一段创建文本的命令,一共创建一个文件夹,然后在文件夹里面创建9个文本,然后另一段代码是删除文本然后再删除文件夹的,可是问题来了,文件创建成功后删除的时候系统提示文本文件正在被程序占用着,无法完成删除,我起初的时候以为是创建文本命令完成后会使文本出于打开状态,我就加了一段关闭文本的命令,结果都是提示文本关闭失败,那么意思就是说文本是出于关闭状态的,那么为什么还会提示文件被占用呢?   第一次打开脚本创建文件成功后,无法删除,然后关掉脚本,再打开,创建文本,提示文件已存在,然后再删除,就能成功删除,,,,,最重要的一点就是我里面在删除后还同时判断了文件是否存在,也就是说存在就输出删除失败,反之则删除成功,,,,,,,在第一次打开脚本删除的时候,输出是删除成功的,可是其实是删除失败了,这一点是我想不通的。第二次打开脚本再删除的时候输出是删除成功的,结果的确是删除成功了······························问题到底是出在哪里了我想不通,唯一的点估计就是脚本在创建完文本后就在占用文本,所有无法删除,那么这个占用该怎么解决呢????还望各位大牛帮忙提点建议···指导指导
回复

使用道具 举报

发表于 2015-5-10 12:48:40 | 显示全部楼层
创建成功后会返回文件句柄,必须关闭文件句柄,否则会显示被占用着
变量 文件句柄=文件创建("d:\\1.txt","读")//属性默认值:"创建文件"
如果(文件句柄==0)
  消息框("文件创建失败")
否则
  消息框("文件创建成功")
  文件关闭(文件句柄)
结束
回复 支持 1 反对 0

使用道具 举报

发表于 2015-5-10 16:18:28 | 显示全部楼层
本帖最后由 花落莫相离 于 2015-5-10 16:19 编辑
  1. 文件创建("d:/牛粪自动\"&i&".txt")
复制代码
上边这句,改成试试
  1. 变量 句柄&i=文件创建("d:/牛粪自动\"&i&".txt")
  2. 文件关闭(句柄&i)
复制代码
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2015-5-10 11:41:08 | 显示全部楼层
功能 牛粪自动_销毁()
    线程关闭(线程句柄)
    线程关闭(线程二)
    线程关闭(线程三)
    等待(20)
    遍历(变量 i = 1; i < 10; i++)
        关闭返回=文件关闭("d:/牛粪自动\\"&i&".txt")
        如果(关闭返回==真)
            调试输出("成功关闭第"&i&"个文本")
        否则
            调试输出("关闭失败")
        结束
        等待(20)
    结束
    关闭返回=文件关闭("d:/牛粪自动")
    等待(20)
    遍历(变量 i = 1; i < 10; i++)
        变量 删除文件=文件删除("d:/牛粪自动\\"&i&".txt")
        如果(文件是否存在("d:/牛粪自动\\"&i&".txt"))
            调试输出("成功删除第"&i&"个文本")
        否则
            调试输出("文件删除完毕")
        结束
    结束
    等待(20)
    变量 删除文件夹=文件夹删除("d:/牛粪自动")
    如果(文件是否存在("d:/牛粪自动"))
        调试输出("文件夹删除失败")
    否则
        调试输出("文件夹删除成功")
    结束
结束


删除的代码是这一段,上面那一段删除代码是没有启用的!!!!
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2015-5-10 11:33:43 | 显示全部楼层
功能 创建文件夹()
    如果(文件是否存在("d:/牛粪自动"))
        调试输出("文件夹已存在")
        遍历(变量 i = 1; i < 10; i++)
            是否存在=文件是否存在("d:/牛粪自动\\"&i&".txt")
            如果(是否存在==真)
                调试输出("第"&i&"个文件已存在")
            否则
                文件创建("d:/牛粪自动\\"&i&".txt")
                调试输出("创建第"&i&"个文本")
            结束
        结束
    否则
        文件夹=文件夹创建("d:/牛粪自动")
        如果(文件夹==真)
            调试输出("文件夹创建成功")
            遍历(变量 i = 1; i < 10; i++)
                是否存在=文件是否存在("d:/牛粪自动\\"&i&".txt")
                如果(是否存在==真)
                    调试输出("第"&i&"个文件已存在")
                否则
                    文件创建("d:/牛粪自动\\"&i&".txt")
                    调试输出("创建第"&i&"个文本")
                结束
               
            结束
        否则
            调试输出("文件夹创建失败")
        结束
    结束
    调试输出("创建步骤已完成")
结束

功能 删除()   
    遍历(变量 i = 1; i < 10; i++)
        文件关闭("d:/牛粪自动\\"&i&".txt")
        调试输出("成功关闭第"&i&"个文本")
        等待(20)
    结束
    遍历(变量 i = 1; i < 10; i++)
        如果(文件是否存在("d:/牛粪自动\\"&i&".txt"))
            如果(文件删除("d:/牛粪自动\\"&i&".txt"))
                如果(文件是否存在("d:/牛粪自动\\"&i&".txt"))
                    调试输出("删除第"&i&"个文本失败")
                否则
                    调试输出("成功删除第"&i&"个文本")   
                结束
            否则
                //               调试输出("删除第"&i&"个文本失败")
            结束
        否则
            //            调试输出("文件删除完毕")
        结束
        等待(20)
    结束
    如果(文件是否存在("d:/牛粪自动"))
        如果(文件夹删除("d:/牛粪自动"))
            调试输出("文件夹删除成功")
        否则
            调试输出("文件夹删除失败")
        结束
    否则
        调试输出("文件夹不存在")
    结束
结束






现在贴上代码,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-2 20:23 , Processed in 0.041675 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表