车上挂什么辟邪:VB6.0中怎么复制、移动文件?

来源:百度文库 编辑:高考问答 时间:2024/04/29 03:58:51
比如我写了个EXE文件放在c:\123目录下,
怎样在这个EXE里写程序使得其本身移到c:\456下?
如果说移动很困难的话,那么能复制到C: \456下吗????

怎么写语句???????
写得好的会加分,说到做到的!!

FileCopy replace(app.path & "\" & app.exename,"\\","\"),replace("C:\456\" & app.exename,"\\","\")

这样就可以了```
app.path & "\" & app.exename & ".exe"的结果是程序本身的完全路径,也许有人会说为什么不直接写app.path & app.exename & ".exe",因为这样写会有2个可能性:
1.假设文件在如C:\aaa的目录下,程序文件名为bbb.exe,``这样的话
app.path & app.exename & ".exe"得出的结果为c:\aaabbb.exe,这样是错误的,而app.path & "\" & app.exename & ".exe"的结果才是正确的c:\aaa\bbb.exe

2.如果文件在c:\下,程序文件名为bbb.exe,这样app.path & app.exename & ".exe"得出的结果就是C:\bbb.exe,是真确的,而app.path & "\" & app.exename & ".exe"又会得出错误的结果C:\\bbb.exe

所以为了使程序在以上2个可能性的时候都能正确运行``这样写
replace(app.path & "\" & app.exename,"\\","\")
这样的话可以把app.path & "\" & app.exename所得结果中所有的\\替换为\,就可以避免错误````

你大概是想做自我复制的小程序?

一楼的可以,二楼的太繁

如果是移动,并调用自身:
Private Sub form1_load()
if app.path <>"c:\456" then
on error resume next '错误捕获
FileCopy "c:\123\xx.exe", "c:\456\xx.exe" '复制自身
shell "c:\456\xx.exe" '调用它
end
end if
end sub

有两种方法可以实现,第一使用API函数代码如下:
Option Explicit

'声明移动文件的API函数
Private Declare Function MoveFile Lib "kernel32" Alias "MoveFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long

Private Sub Command1_Click()
Dim str1 As String
'存放原始路径
Dim str2 As String
'要复制的路径

str1 = "c:\123\"
str2 = "c:\456\123.exe"

str1 = str1 + "123.exe"

'倘若原始文件不存在
If Dir(str1) = "" Then
MsgBox "原始文件未找到!", vbOKOnly + vbExclamation
Exit Sub
End If

'移动文件
MoveFile str1, str2

MsgBox "文件移动成功!", vbOKOnly + vbInformation

End Sub
首先你要先在c盘下面建立123和456这两个文件颊
第二种方法,使用VB自身的函数实现,代码稍有变动,具体如下:
Option Explicit

Private Sub Command1_Click()
Dim str1 As String
'存放原始路径
Dim str2 As String
'要复制的路径

str1 = "c:\123\"
str2 = "c:\456\123.exe"

str1 = str1 + "123.exe"

'倘若原始文件不存在
If Dir(str1) = "" Then
MsgBox "原始文件未找到!", vbOKOnly + vbExclamation
Exit Sub
End If

FileCopy str1, str2
'复制文件
Kill str1
'删除原始文件
MsgBox "文件移动成功!", vbOKOnly + vbInformation

End Sub
OK,以上在windows xp繁体系统和VB6.0运行通过,还有什么问题请继续提出。

Private Sub Command1_Click()
FileCopy "c:\123\xx.exe", "c:\456\xx.exe"
End Sub
一定写对路径啊

移动文件有一个很简捷的方法,就是用name file1 as file2 语句,例如
name "C;\123\a.exe" as "c:\456\a.exe"

这是一个重命名语句,除了可以重命名文件外,还可以方便快捷的移动文件