2016-05-03 98 views
0

我創建了一個Powershell腳本來下載MP4,並且當我指定一個文件夾時它工作正常。但我想從所有文件夾下載文件。Powershell腳本通過HTTP下載MP4

這工作時,我指定101GOPRO

$iwr = Invoke-WebRequest http://10.5.5.9:8080/videos/DCIM/101GOPRO/ 
$links = $iwr.Links | select href | where {$_.href -like "*mp4"} | select -expand href 
foreach ($link in $links) { 
$url = "http://10.5.5.9:8080/videos/DCIM/101GOPRO/" + $link 
$target = "C:\" 
start-bitstransfer -source $url -destination $target -TransferType Download 
} 

如何獲得所有文件夾中的所有.mp4s通過僅指定http://10.5.5.9:8080/videos/DCIM/

謝謝!!

回答

1

沒有更多的信息,這只是一種猜測,但你可以修改這個您的具體情況

!代碼沒有經過測試 - 使用需要您自擔風險

$site = 'http://10.5.5.9:8080/videos/DCIM/' 
$base = iwr $site 
$subs = $base.links.href 

$subs 

# only remove this when you have filtered your results 
return 

foreach ($sub in $subs) { 
    $subsite = join-path $site $sub 

    write-host $subsite 

    $iwr = iwr $subsite 
    $links = $iwr.Links.href | where {$_ -like "*mp4"} 
    foreach ($link in $links) { 
     $url = join-path $subsite $link 

     write-host $url 

     start-bitstransfer -source $url -destination 'c:\' -TransferType Download 

     # this is an alternative to start-bitstransfer 
     #iwr $url -outfile "c:\$(split-path $url -leaf)" 
    } 
} 
+0

我最終只做了一些修改,但是你已經發現了。 我改變了$ subsite = join-path $ site $ sub到$ subsite = $ site + $ sub,因爲某些原因不喜歡join-path。 謝謝! – cheezheadsrule