怎样在Win NT下带参数调用命令行程序?

cybercobra 2001-02-23 07:02:00
遇到这样一个问题:Sybase的SQL Anywhere所使用的数据库备份命令是通过一个命令行程序完成的,而且在运行的时候需要带一大堆参数;为了在程序中实现数据库备份,只好通过拼字符串的方法拼出一个完整的命令,然后调用command来执行(Win98下),但是在Win NT下无法通过cmd带参数执行,我执行cmd dbbackup -c "dbn=..."只打开了一个命令窗口,给cmd带参数/k后发现整个命令只执行了"cmd dbbackup"这一部分,后面的参数全部被忽略了.
请问各位大虾,有没有什么办法能够在Win NT下带参数调用命令行程序?
...全文
173 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cybercobra 2001-03-04
  • 打赏
  • 举报
回复
我已经声明成功了,而且按照各声明的意义传递了值,可是PB还是报语法错误,哪位大虾帮我看看:
shellexecute的声明如下:
FUNCTION ulong ShellExecute(ulong hwnd,ref string lpOperation,ref string lpFile,ref string lpParameters,ref string lpDirectory,ulong nShowCmd) LIBRARY "shell32.dll" ALIAS FOR "ShellExecuteA"
我的程序如下
SHELLEXECUTE(handle(w_main),"open","dbbackup",ls_command,path,SW_SHOWNA)
其中:w_main是当前窗口名;Shellexecute要一个句柄,我不知道它要那个,就把当前窗口的给它了.
dbbackup:我要运行的程序.
ls_command:字符变量,dbbackup程序运行时的参数,
SW_SHOWNA:指定的窗口打开方式,从API说明中拷来的.
yellowant 2001-03-02
  • 打赏
  • 举报
回复
许多书上都有介绍的
cybercobra 2001-02-27
  • 打赏
  • 举报
回复
谢谢各位大虾了,再问一个菜鸟问题:怎样调用API函数?API函数的声明到那里去找?
TangMingTM 2001-02-26
  • 打赏
  • 举报
回复
用run(拼的字符串)就可以了
piggyqiu 2001-02-26
  • 打赏
  • 举报
回复
可以声明外部函数ShellExecute()来实现,多运用win API 对PB 有益身心
cybercobra 2001-02-23
  • 打赏
  • 举报
回复
对不起,贴错地方了,是个PB的问题
Kingron 2001-02-23
  • 打赏
  • 举报
回复
直接用ShellExecute(handle,'open','dbbackup.exe','-c "dbn=..."',nil,sw_show)不行吗?

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧