回 帖 发 新 帖 刷新版面

主题:怎样使用编程变量的方法更改文件名

由于最终需要生成.mrk文件,但是foxpro不能直接生成,但是生成.txt后直接修改扩展名可以被识别,所以就先生成了.txt。但是最后还是需要修改,我做的程序每次都生成新的文件夹,txt被放在里面,如果用reanme to 用变量进入不同的文件夹是不行的,有什么其他办法,

例如 d:\2008\o000001\mtc\file1.txt 改为 job.mrk
下次就是d:\2008\o0000002\mtc\file1.txt  ......o0000003,o0000004,o0000005每次都变的文件夹。。。。。。。。

回复列表 (共7个回复)

沙发

不明白你的意思?
你是说把d:\2008\o000001\mtc\file1.txt 改为 d:\2008\o000001\mtc\job.mrk吗?
你是说把d:\2008\o000002\mtc\file1.txt 改为 d:\2008\o000002\mtc\job.mrk吗?
你是说把d:\2008\o000003\mtc\file1.txt 改为 d:\2008\o000003\mtc\job.mrk吗?
你是说把d:\2008\o000004\mtc\file1.txt 改为 d:\2008\o000004\mtc\job.mrk吗?

如果是为什么不能用RENAME呢?

板凳

如果你的job.mrk是在其它位置,就是说你是要复制文件吧.
比如:
把d:\2008\o000001\mtc\file1.txt 改为 d:\2008\o000001\job.mrk
把d:\2008\o000002\mtc\file1.txt 改为 d:\2008\o000002\job.mrk
把d:\2008\o000003\mtc\file1.txt 改为 d:\2008\o000003\job.mrk
把d:\2008\o000004\mtc\file1.txt 改为 d:\2008\o000004\job.mrk
COPY FILE "d:\2008\o000001\mtc\file1.txt" TO "d:\2008\o000001\job.mrk"
COPY FILE "d:\2008\o000002\mtc\file1.txt" TO "d:\2008\o000002\job.mrk"
COPY FILE "d:\2008\o000003\mtc\file1.txt" TO "d:\2008\o000003\job.mrk"
COPY FILE "d:\2008\o000004\mtc\file1.txt" TO "d:\2008\o000004\job.mrk"

3 楼

不是复制,就是重新命名。
关键是raname 文件名 to 新文件名,这里要包含路径的,文件夹不是固定的怎么办,

4 楼

用变量替代不固定的路径。

5 楼

路径1="c:\"
路径2="D:\"
raname (路径1-"文件名") to (路径2-"新文件名")

6 楼

文件夹路径1 = "c:\"
文件夹路径2 = "D:\"
raname ("c:\"-文件夹路径1-"文件名") to ("D:\"-文件夹路径2-"新文件名")

7 楼

帮助里面也没提到()啊,要了命了。呵呵,谢谢,又帮了一个大忙。。。。。。


rename 命令
请参阅

把文件名称更改为一个新名称。

语法

RENAME FileName1 TO FileName2

参数
FileName1 TO FileName2

指定要重命名的文件名和新文件名。注意文件名中要包括扩展名。如果文件名中不括扩展名,则假定默认的扩展名为 .DBF。如果重命名的表是具有 .FPT 备注文件的自由表,应同时重命名备注文件。当要重命名的文件确实没有扩展名时,应在文件名后加入句点 (.)。
不要使用 rename 命令重命名数据库中的表。RENAME 不能用来重命名数据库中的表。要重命名数据库中的表,可使用 RENAME TABLE。
当要重命名的文件不在默认驱动器和目录中时,把路径包括在文件名中。如果 FileName1 和 FileName2 在不同目录中,此命令将把 FileName1 移到 FileName2 所在的目录中。

执行 RENAME 时,FileName2 不能是现有文件,而 FileName1 则必须存在并且没有打开。

FileName1 和 FileName2 可以包含通配字符,如 * 和 ?。例如,要重命名当前目录或文件夹中带 .prg 扩展名的程序文件为带 .bak 扩展名的备份文件,可用RENAME *.prg TO *.bak 。

我来回复

您尚未登录,请登录后再回复。点此登录或注册