獲取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";
相關文章
相關標籤/搜索