⑴ 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"