标题:[求助] Copy file路径过长,报错!! 请各位大神不吝赐教!
只看楼主
ken3238
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2018-7-5
得分:0 
以下是引用sdta在2020-5-3 13:47:12的发言:

经测试,出错原因是路径名过长造成的
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")

是的,
所以現在我是手工將之分成幾層目錄來做,目前暫時通過了,
但當又遇到更深的目錄層次,又要修改PRG,煩
是故,想有個便捷的解決方法,...


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

2020-05-03 13:54
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
联系这个帖子的 https://bbs.bccn.net/thread-489569-1-1.html 发贴者

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

联系这个帖子的 https://bbs.bccn.net/thread-489569-1-1.html 发贴者

好的,謝謝
2020-05-03 14:05
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:15 
这文件目录有点问题,最好优化文件分类,精简文件目录结构。
用作VFP函数参数的字符串,好像都不支持超过254长。
可以用 Windows API 来处理,如 MakeSureDirectoryPathExists()、CreateFile()、ReadFile()、WriteFile()等。
简单的可用 FileSystemObject 对象,如:
cPath = "D:\518D\ndata2019-05-31\D-X-C2"
IF !DIRECTORY(cPath)
    MD (cPath)
ENDIF
sFile = cPath+"\test.txt"
STRTOFILE(sFile, sFile)
TEXT TO cPath NOSHOW PRETEXT 15
    D:\518D\data\认证检测资料汇总2019-10-24\3)iso9001Q整套数据\中华人民共和国广东省东莞市志勤光电科技有限公司20200503\石龙分公司\年审记录\5运行记录约1203份\2打印-签字-复印-盖公章(红色)-扫描的资料\2行政人事部\3培训资料\2常规培训1\1生效第1月\1管理人员培训_需签字
ENDTEXT
IF !DIRECTORY(cPath)
    MD (cPath)
ENDIF
dFile = cPath+"\tmp.txt"
ofs = CREATEOBJECT("Scripting.FileSystemObject")
ofs.CopyFile(sFile, dFile)
CLEAR ALL
RETURN
2020-05-03 21:18
lqzlql
Rank: 1
等 级:新手上路
帖 子:20
专家分:2
注 册:2012-9-2
得分:0 
vfp中“-”在路径中不认识
2020-05-03 21:23
ken3238
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2018-7-5
得分:0 
以下是引用吹水佬在2020-5-3 21:18:26的发言:

这文件目录有点问题,最好优化文件分类,精简文件目录结构。
用作VFP函数参数的字符串,好像都不支持超过254长。
可以用 Windows API 来处理,如 MakeSureDirectoryPathExists()、CreateFile()、ReadFile()、WriteFile()等。
简单的可用 FileSystemObject 对象,如:
cPath = "D:\518D\ndata2019-05-31\D-X-C2"
IF !DIRECTORY(cPath)
    MD (cPath)
ENDIF
sFile = cPath+"\test.txt"
STRTOFILE(sFile, sFile)
TEXT TO cPath NOSHOW PRETEXT 15
    D:\518D\data\认证检测资料汇总2019-10-24\3)iso9001Q整套数据\中华人民共和国广东省东莞市志勤光电科技有限公司20200503\石龙分公司\年审记录\5运行记录约1203份\2打印-签字-复印-盖公章(红色)-扫描的资料\2行政人事部\3培训资料\2常规培训1\1生效第1月\1管理人员培训_需签字
ENDTEXT
IF !DIRECTORY(cPath)
    MD (cPath)
ENDIF
dFile = cPath+"\tmp.txt"
ofs = CREATEOBJECT("Scripting.FileSystemObject")
ofs.CopyFile(sFile, dFile)
CLEAR ALL
RETURN

感謝版主指教!
我學習消化一下您給的代碼,有疑問再來請教,謝謝!!謝謝!!!
2020-05-03 23:06
ken3238
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2018-7-5
得分:0 
以下是引用lqzlql在2020-5-3 21:23:34的发言:

vfp中“-”在路径中不认识

"-",這個字符用在字符串中好像沒提示出錯,主要是路徑太長了...
2020-05-03 23:09
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
DisplayPath()

坚守VFP最后的阵地
2021-04-05 22:04
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
这次超过254字符的,问题,就算给楼主,解决了。
但难免,下次,楼主,来个1024字符的目录来,挑战API函数的极限。
2021-04-07 08:39



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




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

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