作者:bonbongo来源:蒲公英
新人报道贴广州亿航电脑回收站,奉上自己写广州亿航电脑回收站的《查看所有用户回收站》源代码及编译好的exe程序。广州亿航电脑回收站我是IT岗转的质量岗,主要负责实验室信息化建设和一些计算机化系统管理。目前负责项目有正在实施的QMS、明年要上的LIMS,以及将来MES与LIMS的集成。
众所周知,各Windows用户只能看到自己的回收站,作为数据完整性审核的一部分,查看回收站是必需的,尤其是非色谱仪器电脑;审核人员实际检查时不可能把每个计算机用户叫过来都看一下回收站,效率奇低。于是此脚本诞生广州亿航电脑回收站了。
注:由于是5类软件,我也只是拿来自用,作为辅助检查工具,不体现体现在文件中。且公司仪器电脑屏蔽U盘,我是放在某一台电脑上共享,当然,运行前提是广州亿航电脑回收站你有一个管理员账户,否则因没有权限而闪退。
编程语言:Python
运行要求:管理员身份运行
适用于:WINXP WIN7 32及64位中英文操作系统
环境要求:提前安装Microsoft C++ 2010 x86 x64(如过是64位),超过一半的工作站软件安装时就已经装了它,没装的网上搜一下安装即可。
声明:仅用于技术交流,使用即同意自行承担所有风险。不提供定制修改源代码服务,有能力的可以自己修改完善;不接受任何质疑,没有联网过程,不放心的可以自己使用源代码编译。
先上运行截图:
编译过程:
以下是源代码:
# -*- coding:utf-8 -*-
import locale
import os
from winreg import *
import sys
from prettytable import PrettyTable
if sys.stdout.isatty():
default_encoding = sys.stdout.encoding
else:
default_encoding = locale.getpreferredencoding()
dirs=[]
def isdir():
mydirs = ('C:$Recycle.Bin','C:Recycled','C:Recycler','D:$Recycle.Bin','D:Recycled','D:Recycler','E:$Recycle.Bin','E:Recycled','E:Recycler','F:$Recycle.Bin','F:Recycled','F:Recycler','G:$Recycle.Bin','G:Recycled','G:Recycler')
for dir in mydirs:
if os.path.isdir(dir):
dirs.append(dir)
def siduser(line):
try:
key = OpenKey(HKEY_LOCAL_MACHINE, "SOFTWAREMicrosoftWindows NTCurrentVersionProfileList" + '' + line)
(value, type) = QueryValueEx(key, 'ProfileImagePath')
user = value.split('')[-1]
return user
except:
return line
def main():
isdir()
table = PrettyTable(["Path", "User","File name"])
for dir in dirs:
sid_path = os.listdir(dir)
for path in sid_path:
if os.path.isdir(dir + path):
files = os.listdir(dir + path)
user = siduser(path)
for file in files:
#Filter out desktop.ini and system user:systemprofile.
if file != 'desktop.ini' and user !='systemprofile':
table.add_row([dir,str(user),file])
table.sort_key("Path")
table.reversesort = True
print(table)
if __name__=='__main__':
main()
x=input("Press Enter to Quit.")
补充内容 (2017-12-13 12:44):
操作系统原因,无法显示回收站中原来的文件名,可以通过扩展名判断是否数据文件。如果发现回收站里有东西直接把用户叫过来登录Windows查看。