我想知道在vb中怎样才能调用dos窗口,并且执行自己定义的命令
例如:
我想执行一个备份数据库的命令:“backup database test to disk='d:\test_db.bak'”
在dos 窗口下就应该输入:CALL isql -S SQLServerName -U sa -P -Q :“backup database test to disk='d:\test_db.bak'” -O "D:\test.log"请问在vb中是怎样直接实现的呢

解决方案 »

  1.   

    把命令写在批处理中
    然后:shell 你的批处理
      

  2.   

    不好意思,批处理怎么写啊
    是生成一个.dat文件吗
    这个文件里就写我要执行的语句?
      

  3.   

    *.bat
    bat 内容为:
    isql -S SQLServerName -U sa -P -Q :“backup database test to disk='d:\test_db.bak'” -O "D:\test.log"
    写在一行
    或者shell "isql -S SQLServerName -U sa -P -Q :“backup database test to disk='d:\test_db.bak'” -O "D:\test.log"
    写在一行
    试一下  我没实验
      

  4.   

    *.bat
    bat 内容为:
    isql -S SQLServerName -U sa -P -Q :“backup database test to disk='d:\test_db.bak'” -O "D:\test.log"
    写在一行我试过了
    strMsg = "CALL isql -S ZHANGSUNING -U sa -P -Q :""backup database zhang to disk='d:\zhang_db.bak'"" -O ""D:\test.log"""Open "d:\aaa.bat" For Output As #1
    Write #1, strMsg
    Close #1Shell "d:\aaa.bat", vbNormalFocus可是写到 d:\aaa.bat 里的东西被一个双引号引起来,不能执行,为什么啊?
    怎样写文件才能不带引号呀?
      

  5.   


    知道了
    把write 改成print 就好了
    唉~~~
      

  6.   

    你写文件的时候少用write    一般都用print的
      

  7.   

    shell "command.exe /c 命令"的格式
      

  8.   

    CMD.EXE
    Command.Com没有Command.EXE,呵呵~~