|
利用DOS下的内部或外部命令来完成VFP无法达到的功能
出处:网络
这次“心得”继续谈谈编程中的一些小技巧,这些小技巧您可能已经知道,但我还是希望这些技巧能对您有所帮助:
1.利用DOS下的内部或外部命令来完成VFP无法完成的功能:
A.利用DOS下的ATTRIB.EXE程序来改变文件的属性。我曾介绍过用VFP的RENAME命令来更改文件属性的方法,其实用DOS下的ATTRIB.EXE更加方便。ATTRIB.EXE程序是DOS操作系统的外部命令之一,在C:\WINDOWS\COMMAND\文件夹里,
用法: RUN /N ATTRIB [+或-] [R S H] 文件名
比如: RUN /N ATTRIB -R -S -H XXX.DAT
把XXX.DAT文件的只读、隐含和系统属性去掉,如果把“-”改为“+”,则作用相反。
B.利用DOS的内部命令DIR来取得指定磁盘上所有的文件夹和文件名、 磁盘格式化时建立的磁盘卷标序号、文件夹及文件的长文件名和短文件名、文件夹和文件的个数等。
用法: RUN DIR [*或?] [/s /...] > 文件名
比如想取得C:盘下的所有文件夹和文件,则:
RUN DIR C:\*.* /S > DISK_C.TXT
这样就会在当前目录下建立一个名为DISK_C.TXT的文本文件,文件里包含了上面提到的所有数据,下面是其中的一部分:
Volume in drive C has no label
Volume Serial Number is 3846-11DF
Directory of C:\
COMMAND COM 94,282 06-19-98 20:01 COMMAND.COM
WZT1 25 10-11-99 23:44 WZT1
WZT2 25 10-11-99 23:44 WZT2
WINDOWS < DIR > 05-04-99 20:56 WINDOWS
......
22 file(s) 234,496 bytes
40 dir(s) 1530,612,224 bytes free
具体的数据格式这里就不介绍了。
C.利用DOS的内部命令DATE来改变系统日期
VFP本身没有办法改变系统的日期或时间,用WIN32 API虽说可以改变,但十分复杂(在我的[专题文章]栏目里有介绍),如果用 DOS的内部命令:DATE来改变系统日期就比较方便了,方法是:
RUN DATE [MM/DD/YY]
比如把系统日期改为2000年10月1日,则RUN DATE 10/01/2000
如果您需用变量来改日期,则:
mDATE='10/01/2000'
RUN DATE &mDATE
同理,如果想改变时间则用DOS的内部命令TIME来达到。类似的命令还有一些,您可自己一试,需要说明的是,利用DOS下的命令,会出现DOS窗口,您可以建立个快捷方式,将其设为最小化,使用时调用这个快捷方式,可以以最小化窗口来执行DOS的命令。
也许您发现了,利用DOS的内部命令时RUN命令后不能带“/N” 。
我所写出的代码可能不是最合理和最精练的,只是提出一种思路或方法
供大家参考,希望能对您有所帮助。 江苏 常州 老王 99.11.25
E-mail:cfyns@163.net
[返回] |