关于filecopy问题再问!(困扰以久)

pumalike 2002-08-12 04:34:04
先用filecopy拷贝文件,拷贝完之后操作该文件时出错,这是什么缘故?是不是拷
贝来的文件在什么地方还在被占用?要如何解决?
我要拷贝的文件很小的,有人说拷贝是非同步的,要等待,于是我就
试了用goto pose语句一直循环等待,可是等了几分钟都不行,
我看了文件早就拷贝好了,我想文件肯定是在什么地方被占用了。我还这样试过:
(在vb环境下,对代码进行调试)手工把文件a拷贝好,把程序改为“先调用
convert.dll(c++编译的函数)对文件a进行操作,然后再从其他地方拷贝文件
a把a文件覆盖掉”,这样第一次调试运行covert.dll函数是可以的,但是停止此次
调试再进行调试就不行了,就是因为上次调试的时候已经对a进行了拷贝,a似乎还
在什么地方被占用了,不管等待时间有多长都不行!我要是把程序关闭,重新打开
程序进行调试的话,第一次又可以的。这肯定不是说拷贝没完成的问题,而是a被
什么所占用。不知道我想的有没有道理,请各位指教!谢谢
部分主要代码如下:
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("路径")
Set fc = f.Files
For Each f1 In fc
FileCopy" 路径"& "\" & f1.Name & "", "d:\mycode\抄表
\dll0\dll\data\" & f1.Name & ""
Next
'调用IDBConvert.dll处理拷贝进来的文件
Dim b As Boolean
b = IDBConvert()
If b = True Then
MsgBox "转换成功!"
Else
MsgBox "转换失败!"
End If
每次都失败!我要是先把文件手动拷贝进去,再运行IDBConvert.dll是可以的
!

...全文
120 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
pumalike 2002-08-16
  • 打赏
  • 举报
回复
非常感谢taojm!
taojm 2002-08-16
  • 打赏
  • 举报
回复
Private Const FOF_FILESONLY = &H80 ' on *.*, do only files
Private Const FOF_MULTIDESTFILES = &H1
Private Const FOF_NOCONFIRMATION = &H10 ' Don't prompt the user.
Private Const FOF_NOCONFIRMMKDIR = &H200 ' don't confirm making any needed dirs
Private Const FOF_RENAMEONCOLLISION = &H8
Private Const FOF_SILENT = &H4 ' don't create progress/report
Private Const FOF_SIMPLEPROGRESS = &H100 ' means don't show names of files
Private Const FOF_WANTMAPPINGHANDLE = &H20
Private Const FO_COPY = &H2 ' Fill in SHFILEOPSTRUCT.hNameMappings
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" (lpFileOp As SHFILEOPSTRUCT) As Long


Private Sub Form_Load()
Dim r As Long
Dim f As SHFILEOPSTRUCT
With f
.hwnd = Me.hwnd
.wFunc = FO_COPY
.pFrom = "d:\b.txt"
.pTo = "c:\b.txt"
.fFlags = FOF_SIMPLEPROGRESS Or FOF_FILESONLY
End With
r = SHFileOperation(f)
End Sub

对不起前面少定义了个fo-copy,现在可以了
pumalike 2002-08-15
  • 打赏
  • 举报
回复
不行,不知道怎么回事,又没有出错提示
taojm 2002-08-15
  • 打赏
  • 举报
回复
你把c;\改成c;\b.txt试试看
suntt 2002-08-15
  • 打赏
  • 举报
回复
不会是忘了CLOSE
pumalike 2002-08-15
  • 打赏
  • 举报
回复
我运行了一下,运行时没有出错,可是c盘根本就没有拷贝好的b.txt文件,不知道是什么原因??
taojm 2002-08-14
  • 打赏
  • 举报
回复
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
是拷贝文件的信息
taojm 2002-08-14
  • 打赏
  • 举报
回复
.pFrom = "d:\b.txt"是你要拷贝的文件
.pTo = "c:\"是你要拷贝到那里
你把上述语句年贴到vb里在d:\新建一个b.txt执行后看看c;是不是有同样的.txt就知道则么用了
pumalike 2002-08-13
  • 打赏
  • 举报
回复
不大明白,能帮我讲解讲解吗?非常感谢
taojm 2002-08-12
  • 打赏
  • 举报
回复
给你看看一段程序就明白了
Private Const FOF_FILESONLY = &H80 ' on *.*, do only files
Private Const FOF_MULTIDESTFILES = &H1
Private Const FOF_NOCONFIRMATION = &H10 ' Don't prompt the user.
Private Const FOF_NOCONFIRMMKDIR = &H200 ' don't confirm making any needed dirs
Private Const FOF_RENAMEONCOLLISION = &H8
Private Const FOF_SILENT = &H4 ' don't create progress/report
Private Const FOF_SIMPLEPROGRESS = &H100 ' means don't show names of files
Private Const FOF_WANTMAPPINGHANDLE = &H20 ' Fill in SHFILEOPSTRUCT.hNameMappings
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" (lpFileOp As SHFILEOPSTRUCT) As Long


Private Sub Form_Load()
Dim r As Long
Dim f As SHFILEOPSTRUCT
With f
.hwnd = Me.hwnd
.wFunc = FO_COPY
.pFrom = "d:\b.txt"
.pTo = "c:\"
.fFlags = FOF_SIMPLEPROGRESS Or FOF_FILESONLY
End With
r = SHFileOperation(f)
End Sub
pumalike 2002-08-12
  • 打赏
  • 举报
回复
大家帮帮忙啊!
内容概要:本文研究了计及需求侧响应的日前、日内两阶段鲁棒备用优化问题,提出了一种基于数据驱动的两阶段分布鲁棒优化方法,结合1-范数和∞-范数构造不确定性集合,有效刻画风电、光伏出力及负荷等多重不确定因素的波动特性。研究构建了电热综合能源系统的联合优化模型,通过协调日前调度计划与日内实时调整,充分发挥需求侧响应资源的灵活调节能力,提升系统在不确定性环境下的备用充裕性与运行鲁棒性,并采用Matlab进行建模与仿真验证,结果表明该方法在保障系统安全的同时显著改善了经济性。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的研究生、科研人员,以及从事新型电力系统调度、综合能源系统规划与运行的工程技术人员。; 使用场景及目标:①应用于高比例可再生能源接入背景下电力系统备用容量的优化配置;②为综合能源系统在多重不确定性下的鲁棒调度提供决策支持;③支撑需求侧资源参与系统辅助服务的机制设计与仿真验证,推动源荷互动协调发展。; 阅读建议:建议读者结合Matlab代码深入理解两阶段鲁棒优化的建模过程,重点关注不确定性集构建、鲁棒约束转化及C&CG等求解算法的实现细节,可进一步拓展至其他分布鲁棒优化形式或耦合更多能源形式的综合能源系统场景。

7,788

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧