GVKun编程网logo

DELPHI7执行dos命令并等待完成再执行面的语句(delphi 等待指定时间)

14

如果您想了解DELPHI7执行dos命令并等待完成再执行面的语句的相关知识,那么本文是一篇不可错过的文章,我们将对delphi等待指定时间进行全面详尽的解释,并且为您提供关于.Delphi7升级到De

如果您想了解DELPHI7执行dos命令并等待完成再执行面的语句的相关知识,那么本文是一篇不可错过的文章,我们将对delphi 等待指定时间进行全面详尽的解释,并且为您提供关于.Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结、asp.net – 执行sql脚本而不是等待完成、C# 执行DOS命令和批处理、C#执行DOS命令的方法的有价值的信息。

本文目录一览:

DELPHI7执行dos命令并等待完成再执行面的语句(delphi 等待指定时间)

DELPHI7执行dos命令并等待完成再执行面的语句(delphi 等待指定时间)

总结

以上是小编为你收集整理的DELPHI7执行dos命令并等待完成再执行面的语句全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

.Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结

.Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结

总结

以上是小编为你收集整理的.Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

asp.net – 执行sql脚本而不是等待完成

asp.net – 执行sql脚本而不是等待完成

我有一个sql存储过程运行大约3分钟,我期待从asp.net执行这个存储过程,但我知道,如果我这样做,那asp.net很可能会超时.

我正在考虑在sql中创建一个作业来让它执行该存储过程,并让asp.net调用一个存储过程来调用该作业.
我有一个表,当存储过程开始时,它结束时更新.

我的应用程序将使用它来确定脚本何时完成,但是,我想知道是否有另一种方法来运行存储过程而不是让它等待它完成推送响应.

我只是想知道是否有更有效的方法来做到这一点,或者我是否应该坚持为需要永远运行的脚本创建作业.

解决方法

查看这篇文章: Asynchronous procedure execution.文章给出了代码示例,并解释了为什么利用内部 activation比依赖sql代理作业更好.像这样的运行过程是可靠的(与ADO.NEt异步BeginExecuteXXX不同,即使客户端断开连接也能保证执行),即使在sql Server重启后甚至在灾难恢复服务器重建之后也会执行.

C# 执行DOS命令和批处理

C# 执行DOS命令和批处理

在项目开发中,有时候要处理一些文件,比如视频格式的转换,如果用C开发一套算法,再用C#调用,未免得不偿失!有时候调用现有的程序反而更加方便。今天就来说一下C#中如何调用外部程序,执行一些特殊任务。

这里演示调用cmd.exe,即我们常用的DOS。

下面来看代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace WinShell
{
   class Program
   {
      static void Main(string[] args)
      {
         Console.WriteLine(Execute("ver",10));
         Console.Read();
      }


      /// <summary>  
      /// 执行DOS命令,返回DOS命令的输出  
      /// </summary>  
      /// <param name="dosCommand">dos命令</param>  
      /// <param name="milliseconds">等待命令执行的时间(单位:毫秒),  
      /// 如果设定为0,则无限等待</param>  
      /// <returns>返回DOS命令的输出</returns>  
      public static string Execute(string command, int seconds)
      {
         string output = ""; //输出字符串  
         if (command != null && !command.Equals(""))
         {
            Process process = new Process();//创建进程对象  
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.FileName = "cmd.exe";//设定需要执行的命令  
            startInfo.Arguments = "/C " + command;//“/C”表示执行完命令后马上退出  
            startInfo.UseShellExecute = false;//不使用系统外壳程序启动 
            startInfo.RedirectStandardInput = false;//不重定向输入  
            startInfo.RedirectStandardOutput = true; //重定向输出  
            startInfo.CreateNoWindow = true;//不创建窗口  
            process.StartInfo = startInfo;
            try
            {
               if (process.Start())//开始进程  
               {
                  if (seconds == 0)
                  {
                     process.WaitForExit();//这里无限等待进程结束  
                  }
                  else
                  {
                     process.WaitForExit(seconds); //等待进程结束,等待时间为指定的毫秒  
                  }
                  output = process.StandardOutput.ReadToEnd();//读取进程的输出  
               }
            }
            catch(Exception ex)
            {
               Console.WriteLine(ex.Message);//捕获异常,输出异常信息
            }
            finally
            {
               if (process != null)
                  process.Close();
            }
         }
         return output;
      }  
   }
}

 

这里调用DOS,执行查看版本的命令,然后获取执行结果,输出如下:

直接输出结果,一点也不拖泥带水,是不是感觉很好!

下面来说下,如何执行批处理程序,即bat结尾的文件,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace WinShell
{
   class Program
   {
      static void Main(string[] args)
      {
         Process pro = new Process();
         pro.StartInfo.FileName = @"d:\1.bat";
         pro.StartInfo.UseShellExecute = false;
         pro.StartInfo.RedirectStandardInput = false;
         pro.StartInfo.RedirectStandardOutput = true;
         pro.Start();
         string result = pro.StandardOutput.ReadToEnd();
         Console.WriteLine(result);
    
      }
   }
}

 

这个更加简单,直接把FileName的属性设置为批处理文件,将有Windows调用DOS执行,并且返回结果。

同理,我们可以通过DOS调用其他的很多程序。

C#执行DOS命令的方法

C#执行DOS命令的方法

本文实例讲述了C#执行DOS命令的方法。分享给大家供大家参考。具体实现方法如下:

在c#程序中,有时会用到调用cmd命令完成一些功能,本文介绍的如下方法,可实现c#执行DOS命令,并返回结果的功能。

复制代码 代码如下:
//dosCommand Dos命令语句 
public string Execute(string dosCommand) 

    return Execute(dosCommand,10); 

/// <summary> 
/// 执行DOS命令,返回DOS命令的输出 
/// </summary> 
/// <param name="dosCommand">dos命令</param> 
/// <param name="milliseconds">等待命令执行的时间(单位:毫秒), 
/// 如果设定为0,则无限等待</param> 
/// <returns>返回DOS命令的输出</returns> 
public static string Execute(string command,int seconds) 

    string output = ""; //输出字符串 
    if (command != null && !command.Equals("")) 
    { 
 Process process = new Process();//创建进程对象 
 processstartinfo startInfo = new processstartinfo(); 
 startInfo.FileName = "cmd.exe";//设定需要执行的命令 
 startInfo.Arguments = "/C " + command;//“/C”表示执行完命令后马上退出 
 startInfo.UseShellExecute = false;//不使用系统外壳程序启动 
 startInfo.RedirectStandardInput = false;//不重定向输入 
 startInfo.RedirectStandardOutput = true; //重定向输出 
 startInfo.CreateNowindow = true;//不创建窗口 
 process.StartInfo = startInfo; 
 try 
 { 
     if (process.Start())//开始进程 
     { 
  if (seconds == 0) 
  { 
      process.WaitForExit();//这里无限等待进程结束 
  } 
  else 
  { 
      process.WaitForExit(seconds); //等待进程结束,等待时间为指定的毫秒 
  } 
  output = process.StandardOutput.ReadToEnd();//读取进程的输出 
     } 
 } 
 catch 
 { 
 } 
 finally 
 { 
     if (process != null) 
  process.Close(); 
 } 
    } 
    return output; 
}

希望本文所述对大家的C#程序设计有所帮助。

关于DELPHI7执行dos命令并等待完成再执行面的语句delphi 等待指定时间的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于.Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结、asp.net – 执行sql脚本而不是等待完成、C# 执行DOS命令和批处理、C#执行DOS命令的方法等相关内容,可以在本站寻找。

本文标签:

上一篇Delphi异常处理try except语句和try finally语句用法以及区别〖原创+转载〗

下一篇delphi Date函数列表(delphi formatdatetime函数)