| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3447 人关注过本帖
标题:vfp 中的COPY FILE TO 命令
取消只看楼主 加入收藏
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:273
专家分:227
注 册:2012-12-20
结帖率:91.18%
收藏
已结贴  问题点数:20 回复次数:6 
vfp 中的COPY FILE TO 命令
vfp 中的COPY FILE FileName1 TO FileName2

COPY FILE创建在FileName1指定其名称的文件的副本。可以使用将文件复制为任何类型的文件。文件在复制不能打开。您必须包括扩展为源文件名FileName1和目标文件名FileName2

问题是,COPY FILE 表1 TO 表2  后,表2是不是处于打开状态?因为停电后,表2是坏的,而表1反倒不坏。
是什么原因,请高手指点!
搜索更多相关主题的帖子: vfp 文件 COPY 命令 FILE 
2021-12-16 15:27
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:273
专家分:227
注 册:2012-12-20
收藏
得分:0 
表1和表2应该都不是打开的,复制时,表2可以不带后缀,表2能用。

问题在,复制好后:
第1种情况,正常退出关电脑,表2是能用的。
第2种情况,没有正常退出关电脑,而是发生停电,再打开表2是烂的了,打不开。

问:表2在复制后是不是处于打开状态?为什么会烂表
2021-12-21 12:58
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:273
专家分:227
注 册:2012-12-20
收藏
得分:0 
经过多次验证,表2在复制后,应用close all命令后,不处于打开状态。软件未正常退出前,发生停电,照样烂表。
2021-12-22 10:44
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:273
专家分:227
注 册:2012-12-20
收藏
得分:0 
当用户很多的情况下,总有用户会遇到停电。

COPY FILE 表11 TO 表1
COPY FILE 表12 TO 表2
COPY FILE 表13 TO 表3
COPY FILE 表14 TO 表4
...
COPY FILE 表20 TO 表10

一次拷贝10个表,操作是正确的正常的。只有正常退出软件才不烂表,如果停电就烂表(表1-10中,至少烂1至2个表),其中可能存在问题。
2021-12-22 14:51
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:273
专家分:227
注 册:2012-12-20
收藏
得分:0 
版主的话总是对的,谢谢,终于可结帖了

本问题就是备份出的问题,10个表备份到另一个文件夹后,停电导致部分烂表,致使备份无效!

提出的问题:COPY FILE 表1 TO 表2  后,表2是正常的,但是停电后,表2坏了。
解决的方法:经过了很多测试,找到了一个解决的办法。
            就是程序语句拷贝后,要操作一下Windows文件系统,停电也不烂表了。
            命令 COPY  TO 后,可能是Windows没有自动关闭文件系统。
2021-12-22 16:17
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:273
专家分:227
注 册:2012-12-20
收藏
得分:0 
谢谢版主提醒!
具体备份,退出就自动备份了,是成功的。
这是中间增加的数据,想防止停电而丢失所做的备份。中间每次变动数据备份是成功了,但不退出系统,备份成功的表仍然烂表,实际上是不成功的。
找到的方法是,打开Windows文件系统,手工对这个中间备份文件夹复制一个。
那么再发生停电,中间备份文件不烂了,但复制的这个文件夹烂表。不知什么程序没有关闭造成的。
2021-12-23 09:27
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:273
专家分:227
注 册:2012-12-20
收藏
得分:0 
以下是引用吹水佬在2021-12-23 09:12:37的发言:


这样看来VFP的 COPY FILE 可能是调用WinAPI的 CreateFile、ReadFile、WriteFile、....
通过缓冲来进行I/O操作,缓存正式存盘还需时间,尤其是有使用了文件安全监控。
试试VFP的FLUSH命令看有无效果,如:
FLUSH 表2.dbf FORCE
觉得开关一下表2应该也可以:
USE 表2
USE

试过了,
1、FLUSH对当前工作区的表有保护,对另存的中间备份文件夹无效,一样的烂表。
2、开关一下表,即使是指定了中间备份文件夹路径,仍然烂里面的表。
太弦了,只有手动复制还勉强可行
2021-12-23 11:43
快速回复:vfp 中的COPY FILE TO 命令
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018247 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved