吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1791|回复: 16
收起左侧

[讨论] 通过该工具可以给Windows电脑中文件夹设置备注

[复制链接]
不羁de流年 发表于 2022-12-7 17:52

通过该工具可以给Windows电脑中文件夹设置备注,这是地址:https://github.com/dengsuchuan/WinDirRemarksTools


import wx
import os
import time
import sys
import configparser

class Frame(wx.Frame):
  def __init__(self):
      wx.Frame.__init__(self, None, title='文件夹备注工具', size=(
          505, 139), name='frame', style=541072384)
      self.runW = wx.Panel(self)
      self.Centre()
      self.editB0x1 = wx.TextCtrl(self.runW, size=(291, 31), pos=(
          82, 10), value='', name='text', style=0)
      self.editB0x1.Bind(wx.EVT_LEFT_DOWN, self.editB0x1_mLeftC)
      self.leb1 = wx.StaticText(self.runW, size=(61, 18), pos=(
          11, 19), label='文件夹路径', name='staticText', style=2321)
      self.leb2 = wx.StaticText(self.runW, size=(61, 20), pos=(
          12, 60), label='备注', name='staticText', style=2321)
      self.editB0x2 = wx.TextCtrl(self.runW, size=(291, 31), pos=(
          82, 53), value='', name='text', style=0)
      self.button2 = wx.Button(self.runW, size=(91, 70), pos=(
          389, 14), label='校验/保存', name='button')
      button2_font = wx.Font(12, 74, 90, 700, False, 'Microsoft YaHei UI', 28)
      self.button2.SetFont(button2_font)
      self.button2.Bind(wx.EVT_LEFT_DOWN, self.button2_mLeftC)

  def editB0x1_mLeftC(self,event):
    print('editB0x1,mLeftC')
    # 选择文件夹
    dlg = wx.DirDialog(self, "选择文件夹", style=wx.DD_DEFAULT_STYLE)
    if dlg.ShowModal() == wx.ID_OK:
      self.editB0x1.SetValue(dlg.GetPath())
    dlg.Destroy()

  def button2_mLeftC(self,event):
    print('button2,mLeftC')
    # 判断路径是否存在
    if not os.path.exists(self.editB0x1.GetValue()):
      print('路径不存在')
      dlg = wx.MessageDialog(self, '路径不存在', '提示', wx.OK | wx.ICON_INFORMATION)
      dlg.ShowModal()
      dlg.Destroy()
      return False

    if not self.editB0x2.GetValue():
      print('备注不能为空')
      dlg = wx.MessageDialog(self, '备注不能为空', '提示', wx.OK | wx.ICON_INFORMATION)
      dlg.ShowModal()
      dlg.Destroy()
      return False
    dirPath = self.editB0x1.GetValue()
    InfoTip = self.editB0x2.GetValue()
    if os.path.exists(dirPath+'/desktop.ini') == False:
      print('不存在,准备创建')
      file = open(dirPath+'/desktop.ini', 'w')
      file.close()
    else:
      # 弹框询问
      dlg = wx.MessageDialog(self, '是否覆盖原有备注', '提示', wx.YES_NO | wx.ICON_INFORMATION)
      if dlg.ShowModal() == wx.ID_YES:
        # 先删除文件
        os.system('attrib '+dirPath+'/desktop.ini -r -h')
        time.sleep(0.05)
        os.remove(dirPath+'/desktop.ini')
        file = open(dirPath+'/desktop.ini', 'w')
        file.close()
      else:
        print('不覆盖')
        return False

    # 创建管理对象
    conf = configparser.ConfigParser()
    # 读ini文件
    conf.read(dirPath+'/desktop.ini', encoding="GBK")
    # 获取所有的section
    sections = conf.sections()
    print(sections)

    # 添加一个select
    conf.add_section(".ShellClassInfo")
    conf.set(".ShellClassInfo", "IconResource",
            "C:\WINDOWS\System32\SHELL32.dll,4")
    conf.set(".ShellClassInfo", "InfoTip", '"'+InfoTip+'"')
    print(conf.sections())

    # 添加一个select
    conf.add_section("ViewState")
    conf.set("ViewState", "Mode", "")
    conf.set("ViewState", "Vid", "")
    conf.set("ViewState", "FolderType", "Generic")
    print(conf.sections())

    conf.write(open(dirPath+'/desktop.ini', "a"))  # 追加模式写入
    # 关闭文件
    file.close()

    # 设置权限 
    os.system('attrib '+dirPath+'/desktop.ini +r +h')
    time.sleep(0.05)
    # 刷新
    os.system('attrib '+dirPath+' +s /d')
    time.sleep(0.05)

    dlg = wx.MessageDialog(self, '备注设置完成,退出本程序后生效', '提示', wx.OK | wx.ICON_INFORMATION)
    dlg.ShowModal()
    dlg.Destroy()

class myApp(wx.App):
  def OnInit(self):
    self.frame = Frame()
    self.frame.Show(True)
    return True

def age_c():
  print('命令行模式')
  print('文件夹路径:')
  dirPath = input()
  # 判断路径是否存在
  if not os.path.exists(dirPath):
    print('路径不存在')
    exit()

  # 路径下是否存在'./desktop.ini'文件

  if os.path.exists(dirPath+'/desktop.ini') == False:
    print('不存在,准备创建')
    file = open(dirPath+'/desktop.ini', 'w')
    file.close()
  else:
    print('已存在,是否删除(Y/N)?')
    isDel = input()
    # 不区分大小写判断
    if isDel.upper() == 'Y':
      # 先删除文件
      os.system('attrib '+dirPath+'/desktop.ini -r -h')
      time.sleep(0.05)
      os.remove(dirPath+'/desktop.ini')
      file = open(dirPath+'/desktop.ini', 'w')
      file.close()
    else:
      exit()

  print('路径备注:')
  InfoTip = input()

  # 创建管理对象
  conf = configparser.ConfigParser()
  # 读ini文件
  conf.read(dirPath+'/desktop.ini', encoding="GBK")
  # 获取所有的section
  sections = conf.sections()
  print(sections)

  # 添加一个select
  conf.add_section(".ShellClassInfo")
  conf.set(".ShellClassInfo", "IconResource",
          "C:\WINDOWS\System32\SHELL32.dll,4")
  conf.set(".ShellClassInfo", "InfoTip", '"'+InfoTip+'"')
  print(conf.sections())

  # 添加一个select
  conf.add_section("ViewState")
  conf.set("ViewState", "Mode", "")
  conf.set("ViewState", "Vid", "")
  conf.set("ViewState", "FolderType", "Generic")
  print(conf.sections())

  conf.write(open(dirPath+'/desktop.ini', "a"))  # 追加模式写入
  # 关闭文件
  file.close()

  # 设置权限
  os.system('attrib '+dirPath+'/desktop.ini +r +h')
  time.sleep(0.05)
  # 刷新
  os.system('attrib '+dirPath+' +s /d')
  time.sleep(0.05)

def age_u():
  print('GUI模式')
  app = myApp()
  app.MainLoop()

if __name__ == '__main__':
  # 默认执行age_c 当接收到u时执行age_u
  if '-c' in sys.argv:
    age_c()
  else:
    age_u()

免费评分

参与人数 2吾爱币 +3 热心值 +2 收起 理由
hkhbs + 1 + 1 谢谢@Thanks!
Codeman + 2 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 不羁de流年 发表于 2022-12-14 15:14
忘记给打包的exe了,在这里:
下载:https://wwi.lanzoup.com/ie5il0insh1i 密码:52pj
动感地带 发表于 2022-12-7 19:33
li645944229 发表于 2022-12-7 19:34
yan4088 发表于 2022-12-7 19:49
厉害赞赞赞
gztf 发表于 2022-12-7 20:16
感谢分享,能打包成exe吗?
andyle 发表于 2022-12-7 20:17
感谢分享,暂时用不上
long8586 发表于 2022-12-7 20:35
先收藏吧,谢谢!
souny 发表于 2022-12-7 20:56
感谢分享 !!!!!!!!
chayunyuxiang 发表于 2022-12-7 21:10
好东西,值得拥有
hkhbs 发表于 2022-12-7 21:39
下载不了 能有其他连接吗
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 01:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表