标题:[求助] Copy file路径过长,报错!! 请各位大神不吝赐教!
只看楼主
ken3238
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2018-7-5
结帖率:100%
已结贴  问题点数:20 回复次数:18 
[求助] Copy file路径过长,报错!! 请各位大神不吝赐教!
看尽论坛所有关于路径的帖子,仍无法获得解决办法,是故向各位大神请教,谢谢!

操作环境: win10,64位, vfp9.0
问题例子:
*1)目标目录路径
Npath=’D:\518D\data\认证检测资料汇总2019-10-24\3)iso9001Q整套数据\中华人民共和国广东省东莞市志勤光电科技有限公司20200503\石龙分公司\年审记录\5运行记录约1203份\2打印-签字-复印-盖公章(红色)-扫描的资料\2行政人事部\3培训资料\2常规培训1\1生效第1月\1管理人员培训_需签字’ &&约260个字符

*2)建立目录
                if  !DIRECTORY('& Npath') &&
                    md ('& Npath') &&"
                  ENDIF && if  !DIRECTORY

*3)copy file
     Copy FILE "D:\518D\ndata2019-05-31\D-X-C2\*.doc*"  TO "& Npath"  &&储存DOC文件
 
*以上,全部报错


*=== 目前想到的笨法子是,手工将目录分几层,逐一建立目录,最后再COPY file

*代码如下:
Npath1='D:\518D\data\认证检测资料汇总2019-10-24\3)iso9001Q整套资料’
Npath2=’中华人民共和国广东省东莞市志勤光电科技有限公司20200503\石龙分公司\年审记录’
Npath3=’5运行记录约1203份\2打印-签字-复印-盖公章(红色)-扫描的资料\2行政人事部\3培训资料’
Npath4=’ 2常规培训1\1生效第1月\1管理人员培训_需签字’
 
         Npath1 = CHRTRAN(Npath1,' ','')  &&去除中问空格              
         Npath1 = ALLTRIM(Npath1)         &&去除两头空格

          Npath2 = CHRTRAN(Npath2,' ','')  &&去除中问空格              
          Npath2 = ALLTRIM(Npath2)         &&去除两头空格

          Npath3 = CHRTRAN(Npath3,' ','')  &&去除中问空格              
          Npath3 = ALLTRIM(Npath3)         &&去除两头空格

          Npath4 = CHRTRAN(Npath4,' ','')  &&去除中问空格              
          Npath4 = ALLTRIM(Npath4)         &&去除两头空格

       *逐层建目录
                  *1================
                  if  !DIRECTORY('& Npath1') &&
                     md ('& Npath1') &&"
                  ENDIF &&                                 
                    CHDIR '& Npath1'&&                    
                  *2================

                       if  !DIRECTORY('& Npath2') &&
                             md ('& Npath2') &&"
                        ENDIF &&  
                              
                            CHDIR '& Npath2' &&  
                   *3================

                     if  !DIRECTORY('& Npath3') &&
                           md ('& Npath3') &&"
                      ENDIF &&  
                              
                              CHDIR '& Npath3' &&  

                   *4================
                        if  !DIRECTORY('& Npath4') &&
                               md ('& Npath4') &&"
                        ENDIF &&
   
        *最後COPY file
     Copy FILE "D:\518D\ndata2019-05-31\D-X-C2\*.doc*"  TO "& Npath4"  &&储存DOC文件  

          *请教各位大神,有没有方法自动将目标路径裁剪而达成目的的?? 敬請不吝賜教,谢谢!


[此贴子已经被作者于2020-5-3 11:59编辑过]

搜索更多相关主题的帖子: file 资料 Copy DIRECTORY 空格 file Copy DIRECTORY 空格 资料 
2020-05-03 11:54
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:5 
VFP9 代码
TEXT TO cPath NOSHOW
D:\518D\data\认证检测资料汇总2019-10-24\3)iso9001Q整套数据\中华人民共和国广东省东莞市志勤光电科技有限公司20200503\石龙分公司\年审记录\5运行记录约1203份\2打印-签字-复印-盖公章(红色)-扫描的资料\2行政人事部\3培训资料\2常规培训1\1生效第1月\1管理人员培训_需签字
ENDTEXT
COPY FILE (cPath)

坚守VFP最后的阵地
2020-05-03 11:59
ken3238
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2018-7-5
得分:0 
以下是引用sdta在2020-5-3 11:59:36的发言:

VFP9 代码
TEXT TO cPath NOSHOW
D:\518D\data\认证检测资料汇总2019-10-24\3)iso9001Q整套数据\中华人民共和国广东省东莞市志勤光电科技有限公司20200503\石龙分公司\年审记录\5运行记录约1203份\2打印-签字-复印-盖公章(红色)-扫描的资料\2行政人事部\3培训资料\2常规培训1\1生效第1月\1管理人员培训_需签字
ENDTEXT
COPY FILE (cPath)

感謝版主,馬上測試,謝謝!!
2020-05-03 12:01
ken3238
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2018-7-5
得分:0 
以下是引用sdta在2020-5-3 11:59:36的发言:

VFP9 代码
TEXT TO cPath NOSHOW
D:\518D\data\认证检测资料汇总2019-10-24\3)iso9001Q整套数据\中华人民共和国广东省东莞市志勤光电科技有限公司20200503\石龙分公司\年审记录\5运行记录约1203份\2打印-签字-复印-盖公章(红色)-扫描的资料\2行政人事部\3培训资料\2常规培训1\1生效第1月\1管理人员培训_需签字
ENDTEXT
COPY FILE (cPath)



版主,您好!
經過測試,目錄可以建立,但COPY FILE時提示 '無效的路徑或文件名',請再賜教方法,謝謝!
2020-05-03 12:43
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:40
帖 子:749
专家分:2475
注 册:2011-5-8
得分:0 
VFP命令不能过254个字符。看一下你的调试,Npath应该是空并没有得到值。

[此贴子已经被作者于2020-5-3 13:08编辑过]


dBase有人接盘了。
2020-05-03 12:55
ken3238
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2018-7-5
得分:0 
以下是引用xuminxz在2020-5-3 12:55:17的发言:

fnm=cpath+'*.*'
copy file xxxxxxx to &fnm

測試一下,謝謝!!
2020-05-03 13:06
ken3238
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2018-7-5
得分:0 
以下是引用ken3238在2020-5-3 13:06:44的发言:


測試一下,謝謝!!

仍然是 '無效的路徑或文件名'
2020-05-03 13:09
ken3238
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2018-7-5
得分:0 
以下是引用xuminxz在2020-5-3 12:55:17的发言:

VFP命令不能过254个字符。看一下你的调试,Npath应该是空并没有得到值。

是的
我原來的路徑就是超過了254字符(約260以上),才想出分幾層建目錄的笨方法
現在是想請教各位大神,有無更便捷的方法...
2020-05-03 13:11
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:40
帖 子:749
专家分:2475
注 册:2011-5-8
得分:0 
测试了一下,关键是太长了,VFP命令字符串不能过254。

dBase有人接盘了。
2020-05-03 13:41
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
经测试,出错原因是路径名过长造成的
TEXT TO cPath NOSHOW
D:\518D\data\认证检测资料汇总2019-10-24\3)iso9001Q整套数据\中华人民共和国广东省东莞市志勤光电科技有限公司20200503\石龙分公司\年审记录\5运行记录约1203份\2打印-签字-复印-盖公章(红色)-扫描的资料\2行政人事部\3培训资料
ENDTEXT
IF !DIRECTORY(cPath)
    MD (cPath)
ENDIF
COPY FILE json.txt TO (cpath  + "\json.txt")

坚守VFP最后的阵地
2020-05-03 13:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501395-1-1.html




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

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