正确情况下,我们用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); } }
第二个参数指的下载到本地文件被命名的文件名。
这个命令 还有很多有用的地方,具体可以看上面的连接。