批量解压Google Takeout压缩包至同名目录及大文件下载完成检测方法咨询
批量解压Google Takeout压缩包至同名目录及大文件下载完成检测方法咨询
嗨,我来帮你搞定这两个需求~
一、批量解压zip文件到同名目录
Linux/macOS 终端命令
直接在存放zip文件的目录下运行这段bash脚本就行,它会自动遍历所有zip文件,创建对应名称的目录并解压进去:
for zip_file in *.zip; do # 去掉文件名的.zip后缀作为目录名 dir_name="${zip_file%.zip}" # 创建目录(-p参数确保目录已存在时不会报错) mkdir -p "$dir_name" # 解压zip到目标目录 unzip "$zip_file" -d "$dir_name" done
Windows PowerShell 命令
如果你用的是Windows,打开PowerShell切换到zip所在目录,运行下面的命令:
Get-ChildItem -Filter *.zip | ForEach-Object { # 获取不带后缀的文件名作为目录名 $dirName = $_.BaseName # 创建目录(-Force参数会自动跳过已存在的目录) New-Item -ItemType Directory -Path $dirName -Force | Out-Null # 解压压缩包到目标目录 Expand-Archive -Path $_.FullName -DestinationPath $dirName -Force }
二、检测大文件是否下载完成
针对10GB的大文件,下载中断会导致解压失败,这里给你几个靠谱的检测方法:
- 观察文件状态:
- 如果是浏览器下载,注意看浏览器的下载进度条,完成后会有提示;另外很多浏览器下载时会给文件加临时后缀(比如
.part),当后缀变成.zip时就说明下载完成了。 - 在终端里可以用
watch -n 5 ls -lh 你的文件名.zip(Linux/macOS),每隔5秒查看一次文件大小,如果连续几次大小都没变化,基本就下载完成了;也可以看文件的修改时间,下载过程中修改时间会持续更新,完成后就固定了。
- 如果是浏览器下载,注意看浏览器的下载进度条,完成后会有提示;另外很多浏览器下载时会给文件加临时后缀(比如
- 校验文件完整性:
Google Takeout通常会提供每个压缩包的校验值(比如MD5、SHA256),你可以计算本地文件的校验和和官方值对比:- Linux/macOS:运行
md5sum 你的文件名.zip或者sha256sum 你的文件名.zip,把输出的哈希值和Takeout提供的对比。 - Windows:在PowerShell里运行
Get-FileHash 你的文件名.zip -Algorithm MD5,同样对比哈希值是否一致。
- Linux/macOS:运行
备注:内容来源于stack exchange,提问作者Datadimension
相关产品推荐
相关产品推荐

