python3----项目-在windows系统下对指定文件夹的文件进行更改格式并隐藏文件(或恢复正常)os、win32api、win32con、platform

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

猜你喜欢

转载自blog.csdn.net/xwbk12/article/details/80682213
今日推荐