| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
大量收QQ微信精准粉/交友粉,非诚勿扰千里之行 始于足下
共有 581 人关注过本帖
标题:文件夹下批量更改文件名 按表内的内容
只看楼主 加入收藏
lnsyzhuhua
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2017-8-16
结帖率:80%
  已结贴   问题点数:20  回复次数:5   
文件夹下批量更改文件名 按表内的内容
比方: 在同一个文件夹下 有多个文本文件,需按 统计表.dbf 里的 (文件名)字段内容 更名为(文件名2)字段内容。
文件举例如下:
年度报告(智富人生等)05.11-10.txt  
年度报告(金玉满堂)05.11-20.txt
年度报告(金彩人生)05.11-30.txt
统计表,里的内容:
文件名    文件名2
年度报告(金玉满堂)05.11-20    万能80705.11-20
年度报告(金彩人生)05.11-30    万能80905.11-30
年度报告(智富人生等)05.11-10    万能89205.11-10
现 代码:
go top
do while .not. eof()
wjm1=allt(文件名称)
wjm2=allt(文件名称2)
rename &wjm1..txt to &wjm2..txt

 skip
endd     程序报错  
2018-05-16 09:56
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:83
帖 子:2571
专家分:6306
注 册:2015-3-25
  得分:10 
语法好像没什么问题
可能是路径问题,你用messagebox("&wjm1..txt")看看是什么
同时,最好改为这样
rename "&wjm1..txt" to "&wjm2..txt"
2018-05-16 10:24
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:83
帖 子:2571
专家分:6306
注 册:2015-3-25
  得分:0 
* 教你一下,怎么判断那里出问题

* 1.判断 do while ... enddo语法
go top
do while .not. eof()
   wjm1=allt(文件名称)
   wjm2=allt(文件名称2)
   ?wjm1+".txt"
   ?wjm2+".txt"
   skip
 endd
* 2.判断 文件名称,文件路径问题
go 1
wjm1=allt(文件名称)
wjm2=allt(文件名称2)
messagebox(wjm1+".txt")
messagebox(wjm2+".txt")

* 3.判断宏问题
go 1
wjm1=allt(文件名称)
wjm2=allt(文件名称2)
messagebox(&wjm1..txt)  &&错误
messagebox("&wjm1..txt")  &&正确

* 4.判断改名称命令问题 rename
go 1
wjm1=allt(文件名称)
wjm2=allt(文件名称2)
rename "&wjm1..txt" to "&wjm2..txt"

* 5.优化以及改良

go top
do while .not. eof()
   wjm1=allt(文件名称)+".txt"
   wjm2=allt(文件名称2)+".txt"
   rename "&wjm1" to "wjm2"
*  rename (wjm1) to (wjm2) &&或者用()名词表达式
   skip
endd   

* 6.如果出错,就用手工测试,如 wjm1 = "d:\ttt\xxxx",wjm2 = "d:\ttt\yyyy",你就直接输入
rename "d:\ttt\xxxx"+".txt" to "d:\ttt\yyyy"+".txt" &&直接输入,看看修改是否成功




[此贴子已经被作者于2018-5-16 10:51编辑过]

2018-05-16 10:46
厨师王德榜
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:452
专家分:1608
注 册:2013-2-16
  得分:10 
原来我发了一个批量改文件名的,源代码是公开的,你可以拿去修改一下,应该能实现你的需要。
原帖在这里 https://bbs.bccn.net/thread-460984-1-1.html
下载的东西在7楼。
2018-05-16 12:39
lnsyzhuhua
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2017-8-16
  得分:0 
思路:
1历遍文件夹下的文本文件,批量显示文件名
2打开统计表  
当 (1)文件名 等于 (2)统计表 字段(文件名称)时,更名为 (文件名称2)
用(1)逐个文件名与(2)统计表,逐条比对 相同 就更改文件名称为(文件名称2)。
2018-05-16 14:42
网路盲流
Rank: 2
等 级:论坛游民
威 望:2
帖 子:19
专家分:11
注 册:2012-10-12
  得分:0 
楼上思路不错,遍历文件名可用ADIR()函数。
2018-05-29 13:01







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

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