
c# 怎么判断dos命令执行到了百分之几了?
例如:有个指令:for%1in(%windir%\system32\*.dll)doregsvr32.exe/s%1这个指令在cmd中执行后,会有很长一段时间的处理,但是...
例如:有个指令:
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
这个指令在cmd中执行后,会有很长一段时间的处理,但是我不仅需要把cmd里面的代码显示在一个文本框中,同时也要知道他执行到了百分之几?该怎么写代码实现? 展开
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
这个指令在cmd中执行后,会有很长一段时间的处理,但是我不仅需要把cmd里面的代码显示在一个文本框中,同时也要知道他执行到了百分之几?该怎么写代码实现? 展开
展开全部
你的代码是dos命令在C#是很难跟踪和控制的。
你可以采用C#调用系统函数来实现跟踪。
写注册代码
//注册dll 参数为dll文件所在的目录
private void RunReg(string dirPath)
{
string [] files=xxxxx//取得目录下的所有文件,只取dll文件即可
Console.WriteLine("开始注册Dll");
for(int i=0;i<files.length;i++)
{
Console.WriteLine("["+(i+1)+"/"+files.Length+"]正在注册文件:"+files[i]);
//输出格式为: [1/25]正在注册文件:c:\dlls\xxx.dll;
在C#中注册DLL
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "regsvr32";
p.StartInfo.Arguments = files[i];
p.Start();
p.WaitForExit();
p.Close();
p.Dispose();
}
}
追问
可是我只是要判断执行到百分之几了,取dll文件有什么用?
追答
看到循环了么,那个 length就是总量 i就是进行时,判断i递增到多少了即可
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询