2016-05-03 22 views
0

MP4をダウンロードするPowershellスクリプトを作成しました。フォルダを指定するとうまく動作します。しかし、私はすべてのフォルダからファイルをダウンロードしたいと思います。Powershellスクリプトを使用してMP4をHTTP経由でダウンロードする

私は私だけhttp://10.5.5.9:8080/videos/DCIM/

ありがとうを指定することで、すべてのフォルダ内のすべての.mp4sを取得するにはどうすればよい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 
} 

を指定する場合は、この作品!!

答えて

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

関連する問題