gigafile批量下載腳本

学习笔记 liuruoyu 127℃ 0评论

gigafile批量下載腳本
以前面一文所推薦的gigafile網盤命令行式操作腳本(https://keyi.eu.org/?p=904)爲基礎,寫成了批處理腳本,一次性對多個儲存在list.txt中的網盤地址進行下載。

1、windows下的powershell中使用的批處理:

# 檢查 list.txt 是否存在
if (-Not (Test-Path "list.txt")) {
Write-Host "list.txt 文件不存在。請檢查後重試。"
exit 1
}

# 創建或清空 log.txt
Out-File -FilePath "log.txt" -Encoding UTF8

# 讀取 list.txt 中的 URL
Get-Content "list.txt" | ForEach-Object {
$url = $_.Trim() # 移除空白字符
if ($url -ne "") {
Write-Host "開始下載:$url"

# 記錄開始時間
$startTime = Get-Date

try {
# 使用 python -m gfile 來執行
& "python" -m gfile download $url

$endTime = Get-Date
$duration = $endTime – $startTime

# 寫入日志
Add-Content -Path "log.txt" -Value "URL: $url"
Add-Content -Path "log.txt" -Value "開始時間: $startTime, 結束時間: $endTime, 用時: $duration"
Add-Content -Path "log.txt" -Value "————————————"

Write-Host "完成下載:$url"
} catch {
Add-Content -Path "log.txt" -Value "下載失敗: $url – 錯誤信息: \((\)_.Exception.Message)"
Write-Host "下載失敗:$url"
}
}
}

Write-Host "所有下載已完成,請檢查 log.txt 文件。"

2、windows下的powershell中使用的批處理(增加使用代理服務器訪問的功能):

# 檢查 list.txt 是否存在
if (-Not (Test-Path "list.txt")) {
Write-Host "list.txt 文件不存在。請檢查後重試。"
exit 1
}

# 設置 SOCKS5 代理
$env:ALL_PROXY = "socks5://127.0.0.1:3333"

# 創建或清空 log.txt
Out-File -FilePath "log.txt" -Encoding UTF8

# 讀取 list.txt 中的 URL
Get-Content "list.txt" | ForEach-Object {
$url = $_.Trim() # 移除空白字符
if ($url -ne "") {
Write-Host "開始下載:$url"

# 記錄開始時間
$startTime = Get-Date

try {
# 使用 python -m gfile 來執行
& "python" -m gfile download $url

$endTime = Get-Date
$duration = $endTime – $startTime

# 寫入日志
Add-Content -Path "log.txt" -Value "URL: $url"
Add-Content -Path "log.txt" -Value "開始時間: $startTime, 結束時間: $endTime, 用時: $duration"
Add-Content -Path "log.txt" -Value "————————————"

Write-Host "完成下載:$url"
} catch {
Add-Content -Path "log.txt" -Value "下載失敗: $url – 錯誤信息: \((\)_.Exception.Message)"
Write-Host "下載失敗:$url"
}
}
}

Write-Host "所有下載已完成,請檢查 log.txt 文件。"

3、在linux系統下的sh腳本:

#!/bin/bash

# 確保腳本遇到錯誤時退出
set -e

# 檢查 list.txt 是否存在
if [ ! -f "list.txt" ]; then
echo "list.txt 文件不存在。請檢查後重試。"
exit 1
fi

# 創建或清空 log.txt
> log.txt

# 逐行讀取 list.txt 中的 URL
while IFS= read -r url; do
# 忽略空行和以 # 開頭的行
if [[ -z "$url" || "$url" =~ ^# ]]; then
continue
fi

echo "開始下載:$url"

# 記錄開始時間
start_time=$(date ‘+%Y-%m-%d %H:%M:%S’)
start_epoch=$(date ‘+%s’)

# 執行下載
gfile download "$url"

# 記錄結束時間
end_time=$(date ‘+%Y-%m-%d %H:%M:%S’)
end_epoch=$(date ‘+%s’)

# 計算用時
duration=$((end_epoch – start_epoch))

# 寫入日志
echo "URL: $url" >> log.txt
echo "開始時間: $start_time, 結束時間: $end_time, 用時: $秒" >> log.txt
echo "————————————" >> log.txt

echo "完成下載:$url"
done < "list.txt"

echo "所有下載已完成,請檢查 log.txt 文件。"

转载请注明:刘太监的私藏 » gigafile批量下載腳本

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址