C#调用cmd并使用IDM下载文件

 public static void RunCmd(string cmd)
        {
            string CmdPath = @"C:\Windows\System32\cmd.exe";
            cmd = cmd.Trim().TrimEnd(‘&‘) + "&exit";//要加exit命令,否则后面调用ReadtoEnd()命令会假死
            using (Process p = new Process())
            {
                p.StartInfo.FileName = CmdPath;
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.RedirectStandardInput = true;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.RedirectStandardError = true;
                p.StartInfo.CreateNoWindow = true;
                p.Start();

                p.StandardInput.WriteLine(cmd);
                p.StandardInput.AutoFlush = true;

                p.WaitForExit();
                p.Close();
            }
        }

调用:

   string sIDMPath = @"E:\Software\idman_lv\IDM\IDMan.exe";
   string sDownloadPath="http://pan.baidu.com/s/...";//网盘链接
   string sOutPutPath = @"D:\TempFolder\";
   string sFileName= Guid.NewGuid().ToString()+".pdf";
   string sCmd = string.Format(@"{0} /d ""{1}"" /p ""{2}"" /f ""{3}""", sIDMPath, sDownloadPath, sOutPutPath, sFileName);
   CmdBox.AppendText(sCmd + "\n");
   SqlProcs.RunCmd(sCmd);

注释:如果调用程序路径中有空格时,cmd命令执行失败,可以用双引号括起来

时间: 2024-10-12 17:29:36

C#调用cmd并使用IDM下载文件的相关文章

cmd命令:在ftp下载文件运行

cmd /c @echo open FTP地址>>Ex.dat&@echo FTP用户名>>Ex.dat&@echo FTP密码>>Ex.dat&echo bin>>Ex.dat&@echo get 要在FTP下载的文件名.exe>>Ex.dat&@echo bye>>Ex.dat&@echo 要在FTP下载的文件名.exe>>Ex.dat&@ftp -s:Ex.da

(判断url文件大小)关于inputStream.available()方法获取下载文件的总大小

转自:http://hold-on.iteye.com/blog/1017449 Java代码   如果用inputStream对象的available()方法获取流中可读取的数据大小,通常我们调用这个函数是在下载文件或者对文件进行其他处理时获取文件的总大小. 以前在我们初学File和inputStream和outputStream时,有需要将文件从一个文件夹复制到另一个文件夹中,这时候我们用的就是inputStream.available()来获取文件的总大小,而且屡试不爽. 但是当我们要从网

Python 调用IDM下载工具下载链接文件

Python 调用IDM下载工具下载链接文件 IDM(Internet DownloadManager) 可以在Windows通过命令行参数启动,以及通过提供参数开始下载.需要添加大量下载链接时,使用脚本完成更为更为省时省力.下面为用 Python 调用IDM下载链接的两种方法. 使用os.system() import os def IDMdownload(DownUrl, DownPath, FileName): IDMPath = "C:\\Program Files (x86)\\Int

cmd下载文件

进入cmd 输入ftp 192.168.1.200 然后按照提示输入用户名和密码 cd 进入要下载的目录 dir 看操作权限 lcd查看本地要装下载文件的目录 prompt关闭交互模式 mget data30下载data30的文件到本地目录 或者>ftp  help 输入help ftp> help命令可能是缩写的.  命令为: !               delete          literal         prompt          send?              

多线程爬虫Java调用wget下载文件,独立线程读取输出缓冲区

写了个抓取appstore的,要抓取大量的app,本来是用httpclient,但是效果不理想,于是直接调用wget下载,但是由于标准输出.错误输出的原因会导致卡住,另外wget也会莫名的卡住. 所以我采用: 一.独立线程读取输出信息: 二.自己实现doWaitFor方法来代替api提供的waitFor()方法,避免子进程卡死. 三.设置超时,杀死wget子进程,没有正确返回的话,重试一次,并把超时时间加倍: 有了以上操作,wget不会卡死,就算卡住了也会因为超时被干掉再重试一次,所以绝大部分的

通过cmd命令到ftp上下载文件

通过cmd命令到ftp上下载文件 点击"开始"菜单.然后输入"cmd"点"enter"键,出现cmd命令执行框 2 输入"ftp"切换到到ftp下面.然后输入"open 服务器地址".点击回车键.会提示你输入用户名和密码. 3 登陆成功后.输入"cd"命令.会显示"远程目录",输入"dir"命令会显示目录下的文件,权限等相关信息.可以通过"

调用系统下载服务下载文件。监听下载完成拿到downloadid和filename

public class DownLoadAPK { @TargetApi(Build.VERSION_CODES.HONEYCOMB) public static long downloadAPK(DownloadManager downloadManager, String apkUrl, String name, String desc){ DownloadManager.Request request = new DownloadManager.Request(Uri.parse(apk

Java调用cmd命令 打开一个站点

使用Java程序打开一个站点 近期做了个东西使用SWT技术在一个client程序 须要升级时在提示升级 点击窗口上的一个连接 打开下载网页 花费了我非常长时间 用到了把它记录下来  怕是忘记,须要时能够直接来用到.         try { //不是在Java程序中运行而是在操作系统中运行             Runtime.getRuntime().exec("cmd /c start http://blog.csdn.net/blogluoqi/"); //Runtime.g

java连接FTP、删除、下载文件的方法

本文共例举了二个连接FTP的方法,可以下载删除FTP上的文件,代码有点凌乱 JAVA自带的方法 import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.Input