• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

用VB实现文件改名

发布: 2007-7-14 20:28 | 作者: 佚名    | 来源: 网络转载     | 查看: 28次 | 进入软件测试论坛讨论

领测软件测试网 方法一

name
重新命名一个文件、目录、或文件夹。
语法:
name oldpathname as newpathname

Name语句重新命名文件并将其移动到一个不同的目录或文件夹中。如有必要,Name可跨驱动器移动文件。但当newpathname和oldpathname都在相同的驱动器中时,只能重新命名已经存在的目录或文件夹。Name不能创建新文件、目录或文件夹。在一个已打开的文件上使用Name,将会产生错误。必须在改变名称之前,先关闭打开的文件。Name参数不能包括多字符(*)和单字符(?)的通配符。

示例本示例使用Name语句来更改文件的名称。示例中假设所有使用到的目录或文件夹都已存在。在Macintosh中,默认驱动器名称是C, imOldName,NewNameOldName="OLDFILE":NewName="NEWFILE"注释:定义文件名。NameOldNameAsNewName注释:更改文件名。OldName="C:\MYDIR\OLDFILE":NewName="C:\YOURDIR\NEWFILE"NameOldNameAsNewName注释:更改文件名,并移动文件。
★★★★★★★★★★★★★★★★★★★★★★★★★★

方法二
Option Explicit

注释: // Shell File Operations

Const FO_MOVE = &H1
Const FO_COPY = &H2
Const FO_DELETE = &H3
Const FO_RENAME = &H4
Const FOF_MULTIDESTFILES = &H1
Const FOF_CONFIRMMOUSE = &H2
Const FOF_SILENT = &H4 注释: don注释:t create progress/report
Const FOF_RENAMEONCOLLISION = &H8
Const FOF_NOCONFIRMATION = &H10 注释: Don注释:t prompt the user.
Const FOF_WANTMAPPINGHANDLE = &H20 注释: Fill in SHFILEOPSTRUCT.hNameMappings
注释: Must be freed using SHFreeNameMappings
Const FOF_ALLOWUNDO = &H40
Const FOF_FILESONLY = &H80 注释: on *.*, do only files
Const FOF_SIMPLEPROGRESS = &H100 注释: means don注释:t show names of files
Const FOF_NOCONFIRMMKDIR = &H200 注释: don注释:t confirm making any needed dirs

Const PO_DELETE = &H13 注释: printer is being deleted
Const PO_RENAME = &H14 注释: printer is being renamed
Const PO_PORTCHANGE = &H20 注释: port this printer connected to is being changed
注释: if this id is set, the strings received by
注释: the copyhook are a doubly-null terminated
注释: list of strings. The first is the printer
注释: name and the second is the printer port.
Const PO_REN_PORT = &H34 注释: PO_RENAME and PO_PORTCHANGE at same time.


Private Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String 注释: only used if FOF_SIMPLEPROGRESS
End Type


注释:Private Declare Function SHFileOperation Lib "shell32.dll" Alias " SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Private Declare Function SHFileOperation Lib "shell32.dll" (lpFileOp As SHFILEOPSTRUCT) As Long


Private Sub Command1_Click()
Dim tud As SHFILEOPSTRUCT
Dim rc As Long
With tud
.hwnd = Me.hwnd
.pFrom = "c:\aaa.txt"
.pTo = "c:\bbb.txt"
.fFlags = FOF_ALLOWUNDO
.wFunc = FO_RENAME
End With
rc = SHFileOperation(tud)
End Sub
★★★★★★★★★★★★★★★★★★★★★★★★★★

方法三
Private Sub Command1_Click()
Dim icmd As Object
Set icmd = CreateObject("wscript.shell")
icmd.Run "command.com /c rename c:\test.txt aa.txt", 0, True
End Sub

可運行任何DOS命令,2000下需用cmd.exe 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网