就是用shell命令复制图片文件到另一文件夹时,怎样判断图片是不是已经复制完毕(以便执行下一操作)?
解决方案 »
- 关于圆周运动中圆的起始位置的问题
- 实时错误'3001':参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
- (100分)VB中,public和global有什么区别?
- 简单的算法..进来看看吧...
- 发生ODBC错误的处理?(在线,解决立即给分)
- 请问有没有datacombo这个控件啊?
- 跪求VB加SQL200做一个考试系统
- 登录文本框怎么才有记忆功能?就是次登陆时不用再输入用户名?
- VB文件格式如何转为excel 格式
- 请各位老大帮忙!!!!!
- 一个算法问题,有兴趣的朋友来看看帮帮忙
- VBA中如何通过sheet2中的Button2调用sheet1中的button1的Click方法?
'复制文件之前,先建立文件夹
Private Sub MakeDir(FileName As String)
Dim Str As String, i As Integer
Dim TempC(255) As String Str = FileName If Left(Str, 1) = "\" Then
Str = App.Path & Str
Else
'Str = App.Path & "\" & Str
End If Do
If ExitMe = True Then Exit Sub: Exit Do
If i = 0 Then
TempC(i) = Left(Str, InStr(Str, "\") - 1)
Else TempC(i) = TempC(i - 1) & "\" & Left(Str, InStr(Str, "\") - 1)
If Len(Dir(TempC(i) & "\", vbDirectory)) = 0 Then MkDir TempC(i)
End If
Str = Mid(Str, InStr(Str, "\") + 1)
i = i + 1
Loop Until InStr(Str, "\") = 0End Sub
'复制文件,并显示进度条
Private Sub CopyFiles(FileName As String, CopyTo As String)
'如果存在镶套文件夹,则先建立文件夹
On Error Resume Next
Call MakeDir(CopyTo) On Error Resume Next
Dim FileStr() As Byte, ReNew As Long, FileCounts As Long
ReNew = 10485759 '2M 块
ReDim FileStr(ReNew) XP_Progress.Value = 0 If Trim(Dir(FileName)) = "" Then GoTo 10 Kill CopyTo '先删除文件
Open FileName For Binary Access Read As #1 '读取源文件。
Open CopyTo For Binary Access Write As #2 '写入文件。 XP_Progress.Visible = True
XP_Progress.Max = LOF(1) \ ReNew + 1 For FileCounts = 0 To LOF(1) \ ReNew - 1
DoEvents
If ExitMe = True Then Exit Sub: Exit For
XP_Progress.Value = FileCounts
Get #1, FileCounts * ReNew + 1, FileStr
Put #2, FileCounts * ReNew + 1, FileStr
XP_Progress.Value = XP_Progress.Max
Next
10
Dim w As Long w = LOF(1) - (LOF(1) \ ReNew) * ReNew ReDim FileStr(w - 1)
Get #1, (LOF(1) \ ReNew) * ReNew + 1, FileStr
Put #2, (LOF(1) \ ReNew) * ReNew + 1, FileStr
XP_Progress.Value = FileCounts + 1 Close #2
Close #1
Erase FileStr
XP_Progress.Visible = False
End Sub
可以用WaitForSingleObject这个API等待一个程序得退出
不过觉得这问题有点小题大做。
所以要从xcopy来着手
可以在进程是看到有xcopy.exe正在运行,
可以检测是否有xcopy.exe正在运行来判断
但问题是如果此时还有其它程序在执行copy,则,,,,就不知道怎么办了
:)
不知道能不能查看xcopy.exe的信息
如果一个进程退出了, 那么他的handle就会变成active的,
waitforsingleobject一个handle, 会一直组塞到这个handle变成了atcive。
Shell "cmd.exe /c copy " + FNAME + " " + App.Path + "\imagefile\", vbHide能不能给一个waitforsingleobject的例子?