代码改变世界

使用Bitsadmin 命令下载文件

2013-03-28 13:31  随风浪迹天涯  阅读(6770)  评论(0编辑  收藏  举报

正确情况下,我们用WebClient,HttpWebRequest还有WebBrowser这些方式去下载东西,但是今天发现了另外一个用命令行的方式也可以下载东西呢。。

命令就是:

Bitsadmin

CSDM的详细用法:http://technet.microsoft.com/zh-cn/library/cc753856%28v=ws.10%29.aspx

我们现在cmd 下面的命令行进行操作:

bitsadmin /transfer myDownLoadJob /download /priority normal "http://img5.cache.netease.com/photo/0001/2013-03-28/8R1BK3QO3R710001.jpg" "F:\MikeDMT\abc.jpg"

如下:

敲回车之后,等它传完了,然后可以看到:

表示已经传完了。

ok,我们现在在代码进行实现。其实,很简单,看我前面博客的朋友应该会用了。

        private void DownloadFile(string remote, string local)
        {
            try
            {
                System.Diagnostics.Process bitsadmin_process = new System.Diagnostics.Process();
                bitsadmin_process.StartInfo = new System.Diagnostics.ProcessStartInfo("bitsadmin", @"/transfer mydownloadjob  /download /priority normal " + remote + " " + local);
                bitsadmin_process.StartInfo.CreateNoWindow = true;
                bitsadmin_process.StartInfo.RedirectStandardOutput = true;
                bitsadmin_process.StartInfo.UseShellExecute = false;
                bitsadmin_process.Start();  
                bitsadmin_process.WaitForExit();

                bitsadmin_process = null;
                MessageBox.Show("Download OK.");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Find Error:" + ex.Message);
            }
        }

第二个参数指的下载到本地文件被命名的文件名。

这个命令 还有很多有用的地方,具体可以看上面的连接。