计算文件夹大小、拷贝文件显示进度

计算文件夹大小
(get-childitem -path $folder -recurse| measure-object -property length -sum).sum/1mb

 

#拷贝文件提示进度(脚本只对零散文件有效,如果有大型文件的话,进度显示不正确)
$folder = "D:\Temp_del"
$des = "d:\test"
$p=0
$sizes = (get-childitem -path $folder -recurse| measure-object -property length -sum).sum/1kb
#$copyjob = start-job -ScriptBlock {copy-item D:\ISO\aa d:\test -Recurse -force}
$copyjob = start-job -ScriptBlock {param($folder,$des);copy-item $folder $des -Recurse -force} -ArgumentList $folder,$des
do {
$sizesd = (get-childitem -path $des -recurse| measure-object -property length -sum).sum/1kb
start-sleep -Milliseconds 10
$p = $sizesd/$sizes*100
$n = $sizesd/1MB
write-progress -Activity "进度显示" -status "已复制 $n MB , $p %" -PercentComplete $p
$jobstate = (get-job -name $copyjob.name).state
}
until ($jobstate -eq "Completed")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 Python 实现拷贝文件夹并打印进度百分比值的示例代码: ```python import shutil import os def copy_folder(src, dst): # 获取源文件夹中的所有文件文件夹 items = os.listdir(src) # 遍历所有文件文件夹 for item in items: # 拼接源文件文件夹的完整路径 src_path = os.path.join(src, item) # 拼接目标文件文件夹的完整路径 dst_path = os.path.join(dst, item) # 如果是文件夹,则递归拷贝 if os.path.isdir(src_path): os.makedirs(dst_path, exist_ok=True) copy_folder(src_path, dst_path) # 如果是文件,则拷贝并打印进度百分比值 else: shutil.copy2(src_path, dst_path) print(f"拷贝进度:{int(os.path.getsize(dst_path)/os.path.getsize(src_path)*100)}%") ``` 在上面的代码中,`copy_folder` 函数用于拷贝文件夹,其中 `src` 参数为源文件夹路径,`dst` 参数为目标文件夹路径。该函数首先获取源文件夹中的所有文件文件夹,然后逐个遍历并拷贝到目标文件夹中。如果遇到文件夹,则递归调用 `copy_folder` 函数进行拷贝。如果遇到文件,则使用 `shutil.copy2` 函数进行拷贝,并打印拷贝进度百分比值。其中,进度百分比值的计算公式为目标文件大小除以源文件大小,再乘以 100。 使用示例: ```python src = "/path/to/source/folder" dst = "/path/to/destination/folder" copy_folder(src, dst) ``` 上面的示例代码将会把 `/path/to/source/folder` 文件夹中的所有内容拷贝到 `/path/to/destination/folder` 文件夹中,并打印拷贝进度百分比值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值