以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]用RUN命令运行一个DOS批处理文件,没有得到执行结果  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=2318)

--  作者:szscwy1
--  发布时间:2011/6/13 17:54:00
--  [求助]用RUN命令运行一个DOS批处理文件,没有得到执行结果
有一个DOS批处理文件,文件名为“ABC.bat”,批处理的命令行只两句:
md Backup
md Data

目的是执行后,建立两个目录,用于保存易表文件生成或备份的数据文件。
批文件和易表文件同在一个目录,但使用  run(docdir+"ABC.bat") 公式运行后,得不到结果;用  run("ABC.bat") 公式 也不行。敬请各位老师指教!谢谢!

-=-=-=- 以下内容由 szscwy12011年06月13日 06:27pm 时添加 -=-=-=-
说明:在Windows下,双击该文件可以建立两个目录。批处理文件是没问题的。


--  作者:szscwy1
--  发布时间:2011/6/13 18:40:00
--  
发现问题了:文件还是运行了,但不是在批处理文件所在目录下面建立两个子目录,而是在易表安装目录下面建立了两个子目录。不是所想要的,怎样处理?因为这个易表文件的存放位置是可变的,批处理是编写在易表里面,由易表自动导出生成的,达到智能效果,目的是要建立的目录和这个易表文件在一起,以免备份或存盘时出错。
--  作者:Czy
--  发布时间:2011/6/14 13:53:00
--  
如果可以创建文件夹,你可以用CopyFile进行复制也是个不错的办法。
--  作者:Czy
--  发布时间:2011/6/14 13:59:00
--  
我在登录状态发不了贴,也上传不了文件。

建一个表,只有一列,只有一行,刷新公式:

"@echo off"+char(13)+char(10)+"md """+docdir+"Backup"""+char(13)+char(10)+"md """+docdir+"Data"""

将此表的选项设置的“切换前重算本表”打上勾。

创建批处理的按钮公式为:

ExportTextFile(docdir+"A.bat", "," ,Char(13),GridName,2)

创建文件夹的公式为:

Run(docdir+"A.bat")

操作时先执行创建批处理,再执行创建文件夹。

需注意的是,易表文件不要放在我的文档中。


--  作者:szscwy1
--  发布时间:2011/6/15 15:35:00
--  
谢谢总版主,已经解决!
--  作者:tzszw
--  发布时间:2011/6/26 21:02:00
--  
[这个贴子最后由tzszw在 2011/06/26 09:09pm 第 1 次编辑]

下面引用由czy2011/06/14 01:59pm 发表的内容:
我在登录状态发不了贴,也上传不了文件。
建一个表,只有一列,只有一行,刷新公式:
"@echo off"+char(13)+char(10)+"md """+docdir+"Backup"""+char(13)+c ...

呵呵,CZY老师这种方法很好,我在08年做一个资料“一键录入”功能模块时,曾得到CZY、好版、程版等老师的帮助,解决了问题。
另外,实际工作中,我一般是将批处理文件放到易表安装目录下,正常在程序相关窗口中用RUN调用,效果很好,能很好解决问题。这种用法也许另类,也许看起来不合常理,但实践证明,在易表环境里面好用。