主题:用命令怎样删除表的备份文件(.BAK)
笨兔
[专家分:300] 发布于 2008-12-14 14:04:00
我在代码中允许用户建和删表,但在删除过程中我用的是deop命令,时间长了以后文件夹中,就残留许多删除表的备份文件。怎样在删除表的同时也删除它的备份文件。
回复列表 (共6个回复)
沙发
wuzhouhong [专家分:10890] 发布于 2008-12-14 14:52:00
delete file *.bak
板凳
笨兔 [专家分:300] 发布于 2008-12-14 17:38:00
SELECT tblTally &&这个表存的是表名
cTableName=ALLTRIM(tblTally.fldTallyName)
IF NOT EMPTY(cTableName) &&保证表名的正确性
DROP TABLE &cTableName &&删除在磁盘中的表
DELETE &&删除在tbltally里的表名
SYS(2003)
DELETE FILE &ctablename.BAK
endif
我就是这样用的,别的都能删,只有表备份文件删不了呀!
3 楼
wuzhouhong [专家分:10890] 发布于 2008-12-14 17:51:00
正确的宏替换语句如下:
&ctablename..BAK
但是严重建议不要使用宏替换。
应该改成
cTableName=ALLTRIM(tblTally.fldTallyName)
cBakTableName=JUSTSTEM(cTableName)+".BAK"
DELETE FILE (cBakTableName)
你试一个带有空格的文件名,就知道我说的绝对不过份的了。
4 楼
笨兔 [专家分:300] 发布于 2008-12-14 18:09:00
谢谢您!
按您的方法问题解决了。
5 楼
cbl518 [专家分:57140] 发布于 2008-12-14 18:22:00
应该这样:
ERASE 路径\*.bak
ERASE 路径\Ab*.bak && 前面用同一的区别码
ERASE 路径\*Ab*.bak && 中间用同一的区别码
ERASE 路径\*Ab.bak && 后面用同一的区别码
文件赋名时要考虑他的通用性
6 楼
cbl518 [专家分:57140] 发布于 2008-12-14 18:23:00
ERASE *.BAK 删除文件。
文件名可以包含通配符,如 * 和 ?,
如果文件名包含空格,应用引号把整个文件名括起来。
我来回复