获取Windows10缓存的图片

python


  • Read me

    • 要求:系统已安装Python3.6
    • 使用:将下面的代码放入文本文档并重命名文件为“pic.py”,直接双击执行pic.py文件
    • 结果:在当前目录下的pic目录中获得Windows10缓存图片
  • 源码

import getpass
import os
import shutil
from PIL import Image

# 获取当前用户的用户名
user = getpass.getuser()

# 获取Windows10中的随机路径“Microsoft.Windows.ContentDeliveryManager_...”
temp_dir = "C:\Users\"+ user + "\AppData\Local\Packages\"

# 每个系统都可能不一样的目录
rand_dir = "Microsoft.Windows.ContentDeliveryManager_";
for root, dirs, files in os.walk(temp_dir):
	if rand_dir in root:
		temp_dir = root
		break

# 获取Windows10缓存图片目录
pic_dir = temp_dir + "\LocalState\Assets\"

# 获取当前目录
cur_dir = os.getcwd() + "\"

# 需要拷贝到的目录名称
copy_dir = "pic"

# 需要拷贝到的目录全路径
dest_dir = cur_dir + copy_dir + "\"

# 如果目标目录不存在,则新建目录
if not os.path.exists(dest_dir):
    os.makedirs(dest_dir)


# 获取Windows10缓存图片文件名函数
def pic_name(file_dir):
    L = []
    for root, dirs, files in os.walk(file_dir):
        L.append(files)
    return L[0]


# 获取Windows10缓存图片文件名列表
pics = pic_name(pic_dir)

# 复制图片
for pic in pics:
    img = Image.open(pic_dir + pic)
    if img.width == 1920 or img.width == 1080:
        shutil.copyfile(pic_dir + pic, dest_dir + pic + ".jpg")

shell


  • Read me

    • 要求:系统已安装Git
    • 使用:将下面的代码放入文本文档并重命名文件为“pic.sh”,直接双击执行pic.sh文件
    • 结果:在当前目录下的pic目录中获得Windows10缓存图片
  • 源码

#!/bin/sh

# 获取当前目录
nowDir=`pwd`;

# 指定图片存放的目录
des="${nowDir}/pic/";

# 如果指定的目录不存在,则创建
if [ ! -d $des ];then
	mkdir $des;
fi

# 获取当前用户
user=`whoami`;

# Windows10缓存的图片所在的目录
picSource="/c/Users/${user}/AppData/Local/Packages/Microsoft.Windows.ContentDeliveryManager_*/LocalState/Assets";

# echo ${picSource};
# exit;

# 进入Windows10缓存的图片目录下
cd $picSource;

# 获取大小超过100K的文件,并在每个文件末尾添加“.jpg”扩展
function getAllFiles()  
{  
        pics=`ls $picSource`;  
        bisicSize=102400;
        for pic in $pics;
        do  
           #if test -f $fileName; then  
           if [ -f $pic ];then  
              size=`stat -c "%s" ${pic}`;  
              if [ $size -gt $bisicSize ];then
              	# echo $pic;
              	cp $pic "${des}${pic}.jpg";
              fi
              # exit;
              #echo "${des}${pic}.jpg";
              #cp $pic "${des}${pic}.jpg";
           else  
              echo "$picSource is a invalid path";  
           fi  
        done  
} 

# 执行方法
getAllFiles;  

# 运行结束
echo "DONE";
原文地址:https://www.cnblogs.com/freelancy/p/7918708.html