python3—-项目-在windows系统下对指定文件夹内容的文件进行更改格式并隐藏文件(或恢复正常)os、win32api、win32con、platform
1、目标文件夹与文件
C:\test\work>dir
驱动器 C 中的卷没有标签。
卷的序列号是 1C41-4CCA
C:\test\work 的目录
2018-06-13 16:49 <DIR> .
2018-06-13 16:49 <DIR> ..
2009-07-14 13:32 620,888 1231.jpg
2016-08-30 14:30 7,419 20160830.wvs
2017-02-15 10:37 30,208 555.xls
2016-05-26 15:45 169,984 bookmarks4.html
2009-07-14 13:32 780,831 orderDetail_export_2017-02-150.png
2017-07-20 20:27 816 orderExchangeDetail.zip
2018-06-11 09:27 0 see holl.wmv
2016-09-08 12:11 159 Test.java
2016-09-08 11:56 0 test.txt
2018-06-11 09:27 0 大大.rvmb
2018-06-11 09:28 0 蜂鸟.mp4
11 个文件 1,610,305 字节
2 个目录 33,049,473,024 可用字节
C:\test\work>
2、脚本代码:
#!/usr/bin/python
# --*-- coding:utf-8 --*--
import os
import win32api
import win32con
import platform
def detect_walk(dir_path):#模块遍历目标目录下所有的文件名
for root,dirs,files in os.walk(dir_path):
for filename in files:#遍历目标文件夹下所有文件
list_files.append(os.path.join(root,filename))
def del_filelast(list_files):#更改文件格式或恢复正常保存为列表
for new_filename in list_files:
new_list_files.append(new_filename+"xyz")#对目标文件夹下所有文件的格式最后追加xyz
#new_list_files.append(new_filename.replace("xyz",""))##对目标文件夹下所有文件的格式后缀xyz进行空白字符替换,这样变成正常文件格式
def renamefiles_list(srcfile,dstfile):#对文件名进行重命名
for i in range(0,len(list_files)):
try:
os.rename(srcfile[i],dstfile[i])#对文件名重命名
except Exception as e:
print(e)
def hidden_files(hiddenfiles):#隐藏该目录的文件夹几里面所有文件
if 'Windows' in platform.system():
for root,dirs,files in os.walk(hiddenfiles):
for file in files:#遍历文件名
#print(file)
os.chdir(hiddenfiles)#必须切换到该目录下
if os.path.isfile(file):#判断是否文文件
win32api.SetFileAttributes(file, win32con.FILE_ATTRIBUTE_HIDDEN)#隐藏文件
#win32api.SetFileAttributes(file, win32con.FILE_ATTRIBUTE_NORMAL)#恢复正常
if __name__ == "__main__":
list_files = []#遍历目标目录下所有文件,保存为列表
new_list_files = []#所有被改成新的文件名的列表
print("参考的输入格式为:c:/test/work/")
input = input("请输入要更改格式的文件夹绝对路径:")#python3使用input()输入
if input != "":
detect_walk(input)
del_filelast(list_files)
renamefiles_list(list_files,new_list_files)
hidden_files(input)
else:
print("输入的路径错误,请重新输入!")
3、运行情况
C:\Python34>python fileformathidden.py
参考的输入格式为:c:/test/work/
请输入要更改格式的文件夹绝对路径:c:\test\work\
C:\Python34>
#在CMD中正常dir命令,无法查看到隐藏了的文件
C:\test\work>dir
驱动器 C 中的卷没有标签。
卷的序列号是 1C41-4CCA
C:\test\work 的目录
2018-06-13 17:01 <DIR> .
2018-06-13 17:01 <DIR> ..
0 个文件 0 字节
2 个目录 33,049,407,488 可用字节
C:\test\work>
#在CMD中使用dir/a:h命令,查看到隐藏的所有文件
C:\test\work>
C:\test\work>dir/a:h
驱动器 C 中的卷没有标签。
卷的序列号是 1C41-4CCA
C:\test\work 的目录
2009-07-14 13:32 620,888 1231.jpgxyz
2016-08-30 14:30 7,419 20160830.wvsxyz
2017-02-15 10:37 30,208 555.xlsxyz
2016-05-26 15:45 169,984 bookmarks4.htmlxyz
2009-07-14 13:32 780,831 orderDetail_export_2017-02-150.pngxyz
2017-07-20 20:27 816 orderExchangeDetail.zipxyz
2018-06-11 09:27 0 see holl.wmvxyz
2016-09-08 12:11 159 Test.javaxyz
2016-09-08 11:56 0 test.txtxyz
2018-06-11 09:27 0 大大.rvmbxyz
2018-06-11 09:28 0 蜂鸟.mp4xyz
11 个文件 1,610,305 字节
0 个目录 33,047,629,824 可用字节
C:\test\work>
参考:
https://blog.csdn.net/CosmopolitanMe/article/details/53812851
https://www.cnblogs.com/dcb3688/p/4608016.html