[英]Deleting Windows Temp Files using python script
你能幫我一下如何刪除Windows / Temp文件下的所有文件? 下面是我的腳本但它根本不起作用。
import os
import subprocess
recPath = 'C:\\Windows\\Temp'
ls = []
if os.path.exists(recPath):
for i in os.listdir(recPath):
ls.append(os.path.join(recPath, i))
else:
print 'Please provide valid path!'
paths = ' '.join(ls)
pObj = subprocess.Popen('rmdir C:\\Windows\\Temp\\*.* /s /q *.*'+paths, shell=True, stdout = subprocess.PIPE, stderr= subprocess.PIPE)
rTup = pObj.communicate()
rCod = pObj.returncode
if rCod == 0:
print 'Success: Cleaned Windows Temp Folder'
else:
print 'Fail: Unable to Clean Windows Temp Folder'
先感謝您。
使用windows命令del刪除帶有通配符的dir中的所有文件。 這將在其中遞歸刪除所有文件,但它會將空子文件夾留在那里
import os, subprocess
del_dir = r'c:\windows\temp'
pObj = subprocess.Popen('del /S /Q /F %s\\*.*' % del_dir, shell=True, stdout = subprocess.PIPE, stderr= subprocess.PIPE)
rTup = pObj.communicate()
rCod = pObj.returncode
if rCod == 0:
print 'Success: Cleaned Windows Temp Folder'
else:
print 'Fail: Unable to Clean Windows Temp Folder'
將第1行更改為以下刪除Windows \\ Temp的整個目錄樹。如果成功,將刪除包含Temp文件夾本身的所有內容,之后重新創建父目錄
del_dir = r'c:\windows\temp'
pObj = subprocess.Popen('rmdir /S /Q %s' % del_dir, shell=True, stdout = subprocess.PIPE, stderr= subprocess.PIPE)
# recreate the deleted parent dir in case it get deleted
os.makedirs(del_dir)
另外,來自shutil的rmtree應該是一個不錯的選擇,ignore_errors設置為忽略中間的所有錯誤並繼續直到所有目錄樹完成
import shutil, os
del_dir = r'c:\windows\temp'
shutil.rmtree(del_dir, ignore_errors=True)
# recreate the deleted parent dir in case it get deleted
os.makedirs(del_dir)
迭代目錄以刪除的另一個選項
import os,shutil
del_dir = r'c:\windows\temp'
for f in os.listdir(del_dir):
if os.path.isfile(f):
os.remove(f)
elif os.path.isdir(f)
shutil.rmtree(f, ignore_errors=True)
相應地將del_dir更改為任何感興趣的目錄
你正在處理windows文件夾,小心設置要仔細刪除的目錄,你不要錯誤地把del_dir = r'c:\\ windows'
使用shutil 。
import shutil
shutil.rmtree(r"C:\Windows\Temp")
您可能想要對路徑進行硬編碼。
import os
import shutil
del_dir = r'C:\Windows\Temp'
for f in os.listdir(del_dir):
if os.path.isfile(r'C:\Windows\Temp\\'+f):
os.remove(r'C:\Windows\Temp\\'+f)
elif os.path.isdir(r'C:\Windows\Temp\\'+f):
shutil.rmtree(r'C:\Windows\Temp\\'+f, ignore_errors=True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.