power shell编程

power shell-yt-dlp批量下载视频

2024-02-18  本文已影响0人  zip11
write-host "获取json文件内视频网址,使用yt-dlp下载视频!!!"


# yt_dlp 程序的文件夹路径
$ytdlp = "D:\app\net\yt-dlp"
# 程序 全路径
$ytdlp = Join-Path -Path $ytdlp -ChildPath "yt-dlp.exe"

# 设置下载目录
$downloadDirectory = "$PSScriptRoot\Ph"


#读取json文件保存的代理ip和端口
$proxy = Get-Content "$PSScriptRoot\proxy.json" | ConvertFrom-Json
$proxy_address = $proxy.proxy_address
$proxy_port = $proxy.proxy_port

# 读取 JSON 文件中的网址
$json_folder = "$PSScriptRoot"
$json_file = "bookmarks.json"
$jsonFile_all = Join-Path -Path $json_folder -ChildPath $json_file
$jsonContent = Get-Content "$jsonFile_all" | ConvertFrom-Json

# 当前下载数量
$i = 0
# 全部下载 数量
$total = $jsonContent.Count

# 遍历每个网址并下载视频
foreach ($item in $jsonContent) {

    # json的url 网址
    $url = $item.url
    Write-Host "Downloading $url..."

    & ${ytdlp} --output "$downloadDirectory\%(title)s.%(ext)s" --format "best[height<=720]" --proxy socks5://${proxy_address}:$proxy_port $url
    
    $i = $i + 1
    Write-Host "Downloaded $i of $total"

}
Write-Host "All downloads completed."

# $jsonFile 复制文件 为文件名  年月日_$jsonFile

# 生成 年月日 字符串
$dateString = Get-Date -Format "yyyyMMdd"
# 获取 文件名,无扩展名
$fileNameWithoutExtension = [System.IO.Path]::GetFileNameWithoutExtension($json_File)
# 新文件名
$newFileName = $dateString + "_" + $fileNameWithoutExtension
# 新文件名 全路径
$newFileName = Join-Path -Path $json_folder  -ChildPath $newFileName

Copy-Item $jsonFile -Destination $newFileName
write-host "已保存下载记录 $newFileName"

Pause
上一篇 下一篇

猜你喜欢

热点阅读