| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2486 人关注过本帖
标题:vfp copy问题
只看楼主 加入收藏
zqchun
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-12-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
vfp copy问题
我想把A文件夹下符合条件的文件copy到B文件夹下,请问如何操作命令?我编了一个程序,总说找不到文件,请帮帮忙,谢谢!
SET TALK OFF
SELECT 1
USE 有照片人员
SELECT 2
USE zhaopian_sf
DO WHILE NOT EOF()
SELECT 1
COPY FILE C:\w\A+ALLTRIM(sfzh1) TO C:\w\B+shfz1 for sfzh=b->sfzh
SELECT 2
SKIP
endd
注:sfzh1字段是文件名
有照片人员
sfzh1        sfzh
1.jpg        2009101
2.jpg        2009102
3.jpg        2009103

zhaopian_sf
sfzh
2009101
2009104
2009105




搜索更多相关主题的帖子: 文件夹 照片 如何 
2011-12-01 10:43
panpende
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:528
专家分:963
注 册:2009-4-27
收藏
得分:3 
COPY FILE C:\w\A+ALLTRIM(sfzh1) TO C:\w\B+shfz1 for sfzh=b->sfzh


COPY FILE ... TO ... 命令没有子句 for sfzh=b->sfzh

 
2011-12-01 13:24
zqchun
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-12-1
收藏
得分:0 
回复 2楼 panpende
非常感谢!

那有什么办法满足我那要求吗?
2011-12-01 13:33
apple0072011
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:249
专家分:989
注 册:2011-8-17
收藏
得分:5 
SET TALK OFF
SELECT 1
USE 有照片人员
SELECT 2
USE zhaopian_sf
DO WHILE NOT EOF()
SELECT 1
go top
locate all for alltrim(有照片人员.sfzh)==alltrim(zhaopian_sf.sfzh)
if !eof()
    COPY FILE C:\w\A+ALLTRIM(sfzh1) TO C:\w\B+shfz1
endif
SELECT 2
SKIP
endd


[ 本帖最后由 apple0072011 于 2011-12-1 13:57 编辑 ]

天道酬勤
2011-12-01 13:54
zqchun
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-12-1
收藏
得分:0 
回复 4楼 apple0072011
非常感谢您的解答,一运行,总提示"COPY FILE C:\w\B+ALLTRIM(sfzh1)"文件不存在,不知是不是此句有语法错误?
2011-12-01 14:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
路径名不能这样在命令中做加法运算的。copy带+号,意味着两个文件合并,所以会有那个信息。

授人以渔,不授人以鱼。
2011-12-01 14:34
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:2 
以下是引用zqchun在2011-12-1 14:14:53的发言:

非常感谢您的解答,一运行,总提示"COPY FILE C:\w\B+ALLTRIM(sfzh1)"文件不存在,不知是不是此句有语法错误?
有问题!改成:
"COPY FILE C:\w\B\+ALLTRIM(sfzh1)"
"COPY FILE C:\w\A\+ALLTRIM(sfzh1) TO C:\w\B\+shfz1 for sfzh=b->sfzh"


[ 本帖最后由 qjbzjp 于 2011-12-1 15:02 编辑 ]

相互学习,互相交流,共同提高。
2011-12-01 14:57
apple0072011
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:249
专家分:989
注 册:2011-8-17
收藏
得分:0 
COPY FILE C:\w\A+ALLTRIM(sfzh1) TO C:\w\B+shfz1
改成
COPY FILE C:\w\A\&ALLTRIM(sfzh1) TO C:\w\B\&shfz1

天道酬勤
2011-12-01 15:38
zqchun
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-12-1
收藏
得分:0 
上述方法都试过了,还是提示"COPY FILE C:\w\B+ALLTRIM(sfzh1)文件不存在" 类似字样。不过还是感谢大家。
是不是路径表示方法有问题,继续学习。
2011-12-01 15:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏(1)
得分:3 
提示了你这种写法不行,还找不到解决办法,估计你对VFP的命令机制不熟悉。这种带运算(主要是加号和alltrim()函数)的名字,必须先把正确的名字写在一个字符串变量中,然后在命令中用宏。

cFileName1 = "C:\w\A\" + ALLTRIM(sfzh1)
cFileName2 = "C:\w\B\" + ALLTRIM(sfzh1)
COPY FILE &cFileName1 TO &cFileName2

授人以渔,不授人以鱼。
2011-12-01 16:10
快速回复:vfp copy问题
数据加载中...
 
   



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

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