51Testing软件测试论坛

标题: 删除文件的描述性编程!~ [打印本页]

作者: zpf    时间: 2007-1-26 14:52
标题: 删除文件的描述性编程!~
在一个文件夹下有若干文件夹

不知道他们的名字

怎么去查找取出他们的名字并删除呢?
作者: xiaonan    时间: 2007-1-26 15:46
这个描述性编程也没办法啊,连要操作的对象的名字都不知道
作者: 风过无息    时间: 2007-1-26 19:57
用DeleteFolder可以吗?
作者: ohyo12    时间: 2007-1-26 20:41
不知道用VB的 FSO对象行不行 。。。看到资料说有 FOLDER对象可以获取文件夹名称的,具体的我没试过。。
作者: 丁笑寒    时间: 2007-1-27 21:03
原帖由 zpf 于 2007-1-26 14:52 发表
在一个文件夹下有若干文件夹

不知道他们的名字

怎么去查找取出他们的名字并删除呢?



你可以采用FSO对象(操作文件)。

文件夹的信息,名称,创建日期和最近修改日期都可以获取。
作者: hxa2010    时间: 2007-1-29 11:20
Dim fso, f, f1, fc, s
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFolder("C:\MyTest")                '目的是删除该文件夹下所有的文件夹
    Set fc = f.SubFolders
       
    For Each f1 in fc                '逐一获取子文件夹名称并将子文件夹及下属文件删除
                        s =  f1.name
                        Dim ff
                        Set ff = CreateObject("Scripting.FileSystemObject")
                        ff.DeleteFolder("C:\MyTest\"&f1.name)
                        msgbox (s&"已成功删除")
    Next

上述代码运行通过,不过要注意要先建好文件夹
作者: Coffey111111    时间: 2007-1-29 12:03
学习~~ sdlkfj5
作者: zpf    时间: 2007-2-1 16:08
找到个全的!分享下

创建文件
dim fso, f
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.CreateTextFile("C:\test.txt", true) '第二个参数表示目标文件存在时是否覆盖
f.Write("写入内容")
f.WriteLine("写入内容并换行")
f.WriteBlankLines(3) '写入三个空白行(相当于在文本编辑器中按三次回车)
f.Close()
set f = nothing
set fso = nothing

打开并读文件
dim fso, f
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.OpenTextFile("C:\test.txt", 1, false) '第二个参数 1 表示只读打开,第三个参数表示目标文件不存在时是否创建
f.Skip(3) '将当前位置向后移三个字符
f.SkipLine() '将当前位置移动到下一行的第一个字符,注意:无参数
response.Write f.Read(3) '从当前位置向后读取三个字符,并将当前位置向后移三个字符
response.Write f.ReadLine() '从当前位置向后读取直到遇到换行符(不读取换行符),并将当前位置移动到下一行的第一个字符,注意:无参数
response.Write f.ReadAll() '从当前位置向后读取,直到文件结束,并将当前位置移动到文件的最后
if f.atEndOfLine then
    response.Write("一行的结尾!")
end if
if f.atEndOfStream then
    response.Write("文件的结尾!")
end if
f.Close()
set f = nothing
set fso = nothing

打开并写文件
dim fso, f
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.OpenTextFile("C:\test.txt", 2, false) '第二个参数 2 表示重写,如果是 8 表示追加
f.Write("写入内容")
f.WriteLine("写入内容并换行")
f.WriteBlankLines(3) '写入三个空白行(相当于在文本编辑器中按三次回车)
f.Close()
set f = nothing
set fso = nothing

判断文件是否存在
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
if fso.FileExists("C:\test.txt") then
    response.Write("目标文件存在")
else
    response.Write("目标文件不存在")
end if
set fso = nothing

移动文件
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
call fso.MoveFile("C:\test.txt", "D:\test111.txt") '两个参数的文件名部分可以不同
set fso = nothing

复制文件
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
call fso.CopyFile("C:\test.txt", "D:\test111.txt") '两个参数的文件名部分可以不同
set fso = nothing

删除文件
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.DeleteFile("C:\test.txt")
set fso = nothing

创建文件夹
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.CreateFolder("C:\test") '目标文件夹的父文件夹必须存在
set fso = nothing

判断文件夹是否存在
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
if fso.FolderExists("C:\Windows") then
    response.Write("目标文件夹存在")
else
    response.Write("目标文件夹不存在")
end if
set fso = nothing

删除文件夹
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder("C:\test") '文件夹不必为空
set fso = nothing
作者: vbic    时间: 2007-2-2 16:44
哈哈哈
楼上写这么多啊,
我也来写一个,你好像是只要删除一个非空目录吧

'path为要删除目录路径
sub delfolder(path)
Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("cmd /c del /s /q "+path)
set oexec = wshshell.exec("cmd /c rd /s /q "+path)
end sub

文件夹信息的话
我喜欢用dir,dir功能很强大

[ 本帖最后由 vbic 于 2007-2-2 16:51 编辑 ]
作者: walker1020    时间: 2007-2-2 19:58
不错!本帖对文件的各种操作进行了汇总,值得借鉴和学习,也值得收藏!
作者: yhzmw    时间: 2007-2-7 17:34
不错不错。这个东西还是值得看看的
作者: dcyan    时间: 2007-3-19 22:02
xiaonan版主是不是混混的,一上来就说没办法,我搜搜看有没有你正经回答的问题sdlkfj3
作者: 刘洪鹏    时间: 2007-7-3 11:33
学习一下
作者: lhd85    时间: 2007-7-7 14:18
貌似用deletefolder就能删除文件夹了。
作者: MarsNoNo    时间: 2007-8-12 22:49
deletefolders貌似要指定文件夹的路径和名字!
作者: nedved1020    时间: 2007-8-27 14:39
受教了!!
作者: yqx    时间: 2007-9-11 18:03
收藏了。。。谢谢!
作者: hgl    时间: 2007-10-9 16:44
呵呵,受教了,讲的很全
作者: heqingbluesky    时间: 2008-6-13 14:49
果然说得比较的全,收藏了,方便以后使用。
作者: whoamiyaya    时间: 2009-9-28 14:56
不错,虽然现在没用到,不过以后总归有用的,先收藏了,谢谢:)
作者: souchy    时间: 2009-12-1 22:44
取了点知识走,我会还的!!
作者: timfung    时间: 2010-12-14 11:24
收藏
作者: sophiashan07    时间: 2010-12-17 11:30
我公司2010年6月份刚在纳斯达克上市,现在要找一名自动化测试组长,薪资福利良好:

我们项目组需要招聘自动化测试组组长,职位信息如下:
1.计算机相关专业本科以上学历,熟悉软件工程师学原理;
2.软件测试相关经验3年以上,其中至少包括2年功能自动化测试经验;
3.熟悉QTP工具的使用,了解QTP原理和对象识别机制;
4.熟悉VBScript脚本语言,能进行相关自动化脚本函数的编写;
5.较强的语言表达和文档编写能力及良好的沟通技巧;
6.有金融银行基础业务知识经验、有网银业务经验为佳;
7.有自动化框架编写、设计经验和软件开发经验有团队管理经验为佳;
8.熟悉Java、J2EE 、WebSphere 、Application Serve、DB2、Oracle等为佳
9.有Unix平台的使用经验(AIX/Solaris/HPUX/Linux)为佳;
欢迎各专业人士来信探讨,谢谢:
shanjing1983@163.com
sophiashan07@hotmail.com
作者: sophiashan07    时间: 2010-12-17 11:31
我公司2010年6月份刚在纳斯达克上市,现在要找一名自动化测试组长,薪资福利良好:

我们项目组需要招聘自动化测试组组长,职位信息如下:
1.计算机相关专业本科以上学历,熟悉软件工程师学原理;
2.软件测试相关经验3年以上,其中至少包括2年功能自动化测试经验;
3.熟悉QTP工具的使用,了解QTP原理和对象识别机制;
4.熟悉VBScript脚本语言,能进行相关自动化脚本函数的编写;
5.较强的语言表达和文档编写能力及良好的沟通技巧;
6.有金融银行基础业务知识经验、有网银业务经验为佳;
7.有自动化框架编写、设计经验和软件开发经验有团队管理经验为佳;
8.熟悉Java、J2EE 、WebSphere 、Application Serve、DB2、Oracle等为佳
9.有Unix平台的使用经验(AIX/Solaris/HPUX/Linux)为佳;
欢迎各专业人士来信探讨,谢谢:
shanjing1983@163.com
sophiashan07@hotmail.com




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2