⑴ vb6批量复制文件
dim fso
set fso=createobject("scripting.filesystemobject")
set fd=fso.getfolder("C:\Users\samsung\AppData\Local\Microsoft\Windows\Temporary Internet Files\")
set fs=fd.files
for each f in fs
if fso.getextensionname(f)="gif" then
f. "d:\"
end if
next
⑵ VB 6.0中 File 有什么作用(急)
vb6.0中FileCopy是复制文件的意思,它的用法分两种情况:
一、当两个文件在同一磁盘,可用 Name 语句:
例如:name "d:\vb\ken.exe" As "d:\vb\k.exe"
二、当两个文件不在同一磁盘目录下时用FileCopy
例如: FileCopy "d:\vb\ken.exe","d:\vb\k.exe"
⑶ VB6.0中怎么复制、移动文件
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所得结果中所有的\\替换为\,就可以避免错误````
⑷ vb6 如何复制本路径下的文件到指定目录,谢谢
把a.txt拷贝复到制C盘根目录下并重命名为aa.txt
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile App.Path & "\a.txt", "c:\aa.txt"
Set fso = Nothing
⑸ 一个关于VB中复制文件的问题
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
我写的一个程序在用FileCopy复制比较大的文件时会造成程序假死 请问怎么解决?
再请问怎么用ProgressBar控件表示文件复制的进度? 谢谢了!
解析:
在窗体上添加一个Button、ProgressBar、CommonDialog,把下面的代码复制过去就可以了。
Private Sub Command1_Click()
Dim InputFileName As String
Dim OutputFileName As String
CommonDialog1.ShowOpen
InputFileName = CommonDialog1.FileName
CommonDialog1.ShowSave
OutputFileName = CommonDialog1.FileName
MyFileCopy InputFileName, OutputFileName, ProgressBar1
End Sub
Sub MyFileCopy(sFileName0 As String, sFilename As String, ProgressBarX As MSComctlLib.ProgressBar)
'当 N=0时 ,即 为 Copy
ProgressBarX.Value = ProgressBarX.Min
Const KB = 1024
Dim nKB As Long
nKB = 64
Dim FileBuffer() As Byte
Dim FileNumberS As Long
Dim FileNumberT As Long
Dim lFileLen As Long
lFileLen = FileLen(sFileName0)
ProgressBarX.Max = lFileLen \ nKB * KB + IIf(lFileLen Mod nKB * KB > 0, 1, 0)
FileNumberS = FreeFile
Open sFileName0 For Binary Access Read As #FileNumberS
FileNumberT = FreeFile
Open sFilename For Binary Access Write As #FileNumberT
ReDim FileBuffer(1 To (nKB * KB)) As Byte '设 置 缓 冲 区 大 小 为 64K
'若 用 Do Until LOF(FileNumber)
' ...
' Loop 语 句 ,
'不 方 便 ,复 杂 !
Do While lFileLen >= (nKB * KB)
Get #FileNumberS, , FileBuffer
Put #FileNumberT, , FileBuffer
lFileLen = lFileLen - (nKB * KB)
ProgressBarX.Value = ProgressBarX.Value + 1
Loop
If lFileLen > 0 Then
ReDim FileBuffer(1 To lFileLen) As Byte
Get #FileNumberS, , FileBuffer
Put #FileNumberT, , FileBuffer
ProgressBarX.Value = ProgressBarX.Value + 1
End If
Close #FileNumberS
Close #FileNumberT
MsgBox "复制完成!"
End Sub
⑹ VB6.0将文件复制到指定文件夹
FileCopy Text1.Text, [指定文件夹] & "\" & File1.FileName
⑺ vb6 搜索文件并复制
Private Sub sosuofile(MyPath As String)
Dim Myname As String
Dim dir_i() As String
Dim i, idir As Long
If Right(MyPath, 1) <> "\" Then MyPath = MyPath + "\"
Myname = Dir(MyPath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly)
Do While Myname <> ""
If Myname <> "." And Myname <> ".." Then
If (GetAttr(MyPath & Myname) And vbDirectory) = vbDirectory Then '如果找到的是目录
idir = idir + 1
ReDim Preserve dir_i(idir) As String
dir_i(idir - 1) = Myname
Else:
If Right(Myname, 3) = "swf" Then
List1.AddItem MyPath & Myname '添加到列表
End If
End If
End If
Myname = Dir '搜索下一项
Loop
For i = 0 To idir - 1
Call sosuofile(MyPath + dir_i(i))
Next i
ReDim dir_i(0) As String
End Sub
⑻ vb复制文件夹有几种方法
首先你说的这几种方法都可以有相应的实现方法,下面一一列举:1.vb函数实现复制文件夹。首先要指出,vb有6个基本的关于文件或文件夹操作的函数:(1)建立文件夹的函数MkDir;(2)改变当前文件夹ChDir;(3)删除文件夹RmDir;(4)删除文件kill;(5)复制文件FileCopy;(6)文件的改名和移动。但却没有直接的文件夹整体复制的基本函数。但用以上这些基本的函数却可以实现文件夹的任何操作:下面以例子来说明:在D盘根目录下有一个a文件夹,里边有很多文件,现在把它复制到"D:\aa"中去,aa是D盘中的一个文件夹.实现过程这样,(1)先在D:\aa中创建一个文件夹名为a,用函数MkDir;(2)然后把依次把D:\a中的文件复制到D:\aa\a中去。程序实现如下:Private Sub Command1_Click()
Dim fname As String
fname = Dir("d:\a\*.*", 7)
MkDir "d:\aa\a"
Do
If fname = "" Then Exit Do
FileCopy "d:\a\" & fname, "d:\aa\a\" & fname
fname = Dir()
Loop
End Sub2.复制文件夹的API函数:SHFileOperation。他可以很方便的实现文件夹的复制,但要配合一个文件类来实现,还是以例子来说明吧:在D盘根目录下有一个a文件夹,里边有很多文件,现在把它复制到"D:\bb"中去,程序实现如下: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 '只有在 FOF_SIMPLEPROGRESS 时用
End Type
Private Declare Function SHFileOperation Lib _
"shell32.dll" Alias "SHFileOperationA" (lpFileOp _
As SHFILEOPSTRUCT) As Long 'api函数SHFileOperation 的声明
'wFunc 常数
'FO_COPY 把 pFrom 文件拷贝到 pTo。
Const FO_COPY = &H2'fFlag 常数
'FOF_ALLOWUNDO 允许 Undo 。
Const FOF_ALLOWUNDO = &H40
'FOF_NOCONFIRMATION 不显示系统确认对话框。
Const FOF_NOCONFIRMATION = &H10
'FOF_NOCONFIRMMKDIR 不提示是否新建目录。
Const FOF_NOCONFIRMMKDIR = &H200
'FOF_SILENT 不显示进度对话框
Const FOF_SILENT = &H4'以上皆为SHFileOperation 需要的变量的声明,固定声明格式直接拿来使用
Private Sub Command2_Click()
Dim SHFileOp As SHFILEOPSTRUCT
SHFileOp.wFunc = FO_COPY
SHFileOp.pFrom = "d:\a"
SHFileOp.pTo = "d:\bb"
SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMMKDIR
Call SHFileOperation(SHFileOp)
End Sub3.FSO方法实现文件夹的复制,它的使用与FileCopy类似,但还不一样,它只能把一个文件夹里边的文件完全复制到目标文件夹中,但是不能连同此文件夹一块复制进去,因此用FSO实现复制也需要两步,(1)先在目标文件夹中创建一个与复制的文件夹同名的文件夹,然后把文件复制进去。现用例子来说明:在D盘根目录下有一个a文件夹,里边有很多文件,现在把它复制到"D:\cc"中去,程序实现如下:"工程"--"引用"--"Microsoft Scripting Runtime"Private Sub Command3_Click()
Dim fso As New FileSystemObject
Dim fldr As Folder
MkDir "D:/cc/a"
fso.CopyFolder "D:/a", "D:/cc/a", True
End Sub好了三种实现方法都能做到复制文件夹,另外再给你提供一种方法,就是用dos命令,利用vb里边的函数shell来调用cmd.exe执行dos命令,有时候shell也是很不错的选择。具体例子如下:Private Sub Command4_Click()Shell "cmd.exe /c x " + Chr(34) + "D:\dd D:\a /q /e" + Chr(34)
end sub好了,关于文件夹复制的方法你可以根据自己的习惯选择一种来实现你的程序。
⑼ 如何在VB6 里面复制WORD文件到另外一个位置
使用vb中的来file函数
在FileCopy语句的语法中源包括两个参数,其中soure用来表示要被复制的源文件名,而destination用来指定要复制的目的文件名。在source和destination参数中都要包含文件所在的目录或文件夹以及驱动器。
file "c:\1.doc" "d:\1.doc"