用批处理打造磁盘、文件夹背景更换器

简介:

用批处理打造磁盘、文件夹背景更换器

 

                                                 ——个性背景任你换

 

当你每天面对我的电脑,打开磁盘或者文件夹的时候总是面对单调的背景,时间长了你是否会觉得枯燥?那是一定的吧!好了,从现在开始你的背景将不再单调。

一、           原理

能任意更改文件夹或者磁盘的背景,主要是运用了desktop.ini这个文件,让我们来看看它的真面目:

[.ShellClassInfo]

InfoTip=

IconFile=

IconIndex=-101

ConfirmFileOp=0

[{BE098140-A513-11D0-A 3A 4 -00C 04FD706EC}]

IconArea_Image=

IconArea_Text=

IconArea_TextBackground=

Attributes=1

[ExtShellFolderViews]

{BE098140-A513-11D0-A 3A 4 -00C 04FD706EC}={BE098140-A513-11D0-A 3A 4 -00C 04FD706EC}

[Folder Set]

Vision=2.002Build0105

Builder=ThenLong

Type=FreeSoft

 

那个用黑框框起来的,就是能改变磁盘和文件夹背景的代码,

IconArea_Image= //用于改变背景;IconArea_Text= //用于改变文件前景字体颜色;IconArea_TextBackground= //用于改变文件后字体颜色;如图1

Attributes=1 //设置desktop.ini为只读文件。(这个值还可以为0248163264128前三个是常用的分别代表一般文件、隐藏文件、系统文件)。黑框上面的代码是用来设置文件夹图标的;下面的代码是用来设置文件夹信息的,它们不是今天的主题有兴趣的朋友可以自己研究一下。

 

二、           应用

为了能让desktop.ini在自己想要更改背景的文件夹和磁盘下自动生成,我用批处理写了如下代码:


 
 
  1. @echo off  
  2.  
  3. title 个性背景任你换  
  4.  
  5. color a  
  6.  
  7. echo.  
  8.  
  9. echo  乔磊制作   
  10. echo.  
  11.  
  12. echo  ======================================================  
  13.  
  14. echo  1.更换背景            2.还原背景         3.退出  
  15.  
  16. echo  ======================================================  
  17.  
  18. echo.  
  19.  
  20. :cho  
  21.  
  22. set choice=  
  23.  
  24. set /p choice= 请选择然后按回车:  
  25.  
  26. if not "%choice%"=="" set choice=%choice:~0,1%  
  27.  
  28. if /i "%choice%"=="1" goto change  
  29.  
  30. if /i "%choice%"=="2" goto huan  
  31.  
  32. if /i "%choice%"=="3" goto exit  
  33.  
  34. echo 选择无效,请重新输入  
  35.  
  36. echo.  
  37.  
  38. goto cho  
  39.  
  40. :change  
  41.  
  42. set /p pth=请输入你要更换背景的磁盘或文件夹路径(例如:e:):  
  43.  
  44. set /p pth1=请输入要使用的背景图片的路径(将图片拖进窗口即可):  
  45.  
  46. md %pth%\font   
  47.  
  48. md %pth%\fonts   
  49.  
  50. copy %pth1% %pth%\font >nul  
  51.  
  52. if exist %pth%\desktop.ini (attrib -S -H -R %pth%\desktop.ini |del /q %pth%\desktop.ini)   
  53.  
  54. echo IconArea_Image>%pth%\fonts\3.txt  
  55.  
  56. echo [{BE098140-A513-11D0-A3A4-00C04FD706EC}]>>%pth%\desktop.ini   
  57.  
  58. echo IconArea_Text=>>%pth%\desktop.ini   
  59.  
  60. echo IconArea_TextBackground=>>%pth%\desktop.ini   
  61.  
  62. echo Attributes=1>>%pth%\desktop.ini  
  63.  
  64. ::用于提取图片的文件名和扩展名,并赋给变量pic  
  65.  
  66. for /f "delims=" %%i in ('dir /b %pth%\font\*.*') do set pic=%%i  
  67.  
  68. ::提取能更改背景的代码,将图片路径赋给它,并写入到desktop.ini中  
  69.  
  70. for /f "delims=" %%m in (%pth%\fonts\3.txt) do @echo %%m=%pth%\font\%pic% >>%pth%\desktop.ini  
  71.  
  72. rd /s /q %pth%\fonts  
  73.  
  74. attrib +S +H +R %pth%\desktop.ini  
  75.  
  76. attrib +S +H +R %pth%\font  
  77.  
  78. echo 更换完成,按任意键返回!  
  79.  
  80. pause>nul  
  81.  
  82. goto cho  
  83.  
  84. :huan  
  85.  
  86. set /p pth=请输入你要还原背景的磁盘或文件夹路径(例如:e:):  
  87.  
  88. attrib -S -H -R %pth%\desktop.ini  
  89.  
  90. attrib -S -H -R %pth%\font  
  91.  
  92. del /q %pth%\desktop.ini  
  93.  
  94. rd /s /q %pth%\font >2>nul  
  95.  
  96. echo 已还原,按任意键返回!  
  97.  
  98. pause>nul  
  99.  
  100. goto cho  
  101.  
  102. :exit  
  103.  
  104. exit  
  105.  

 

对关键代码我已经做了注释,对比图如图34:

 

3

4

 

 

呵呵,好了就这些了,这是我以前投过的稿件,现在拿出来与大家分享。



本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/413678,如需转载请自行联系原作者


相关文章
|
2月前
|
Windows
写一个批处理,压缩一个文件夹下的所有图片大小
【10月更文挑战第14天】在Windows环境下,使用批处理脚本可以方便地批量压缩图片。以下是一个示例脚本,用于压缩指定目录下的所有.jpg和.png文件,并将压缩后的图片保存到另一个目录中。
|
5月前
内存或磁盘不足,excel无法再次打开或保存任何文档
内存或磁盘不足,excel无法再次打开或保存任何文档
104 2
|
7月前
|
消息中间件 Java Kafka
实时计算 Flink版操作报错合集之RocksDB在尝试打开更多文件时达到了操作系统允许的最大打开文件数限制,该怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
135 0
|
8月前
如何批量复制多个文件到多个目录中(批量复制文件,多对多文件高效操作的方法)
该文介绍了如何使用一个工具进行文件批量复制的操作。首先,提供了百度网盘和蓝奏云的链接,附有提取码,以获取所需工具。接着,展示了一个包含三个文件夹和两张图片的示例。操作步骤包括:打开工具,使用Ctrl+5进入批量复制模块,选择图片并拖拽至复制区域,然后选择目标文件夹(在这里是三个命名的空文件夹),点击“开始复制”,等待过程完成。工具提供复制选项供用户按需选择,且支持保存操作路径以备后续使用。完成后,目标文件夹将包含复制的图片,整个过程简便快捷。
|
存储 缓存 Kubernetes
数据缓存系列分享(一):打开大模型应用的另一种方式
容器镜像的加速技术如今已经非常成熟,比如阿里云容器镜像缓存,还有p2p分发技术以及开源的dadi、nydus等按需加载技术,然而这些加速技术对于大模型文件的加载都很难有显著的效果。 MaaS的概念最近开始被提出,模型已经逐渐开始具备相对独立的存储、版本管理能力,也有类OCI的概念被提出,模型与应用的解耦会是必然的一个趋势。 为了解决模型加载与容器镜像加载解耦的问题,我们提供了模型缓存的技术,让模型无需从远端的仓库加载,也不用打包进应用的镜像里,就可以直接像加载本地的文件一样使用模型,而且在模型缓存的制作、使用流程上做了极大的简化。
1792 1
数据缓存系列分享(一):打开大模型应用的另一种方式
|
存储 IDE 数据挖掘
TCGA | 以项目方式管理代码数据 以及 数据读取存储
TCGA | 以项目方式管理代码数据 以及 数据读取存储
198 0
教你IO流来便利电脑磁盘所有文件,把图片放到一个文件夹里
教你IO流来便利电脑磁盘所有文件,把图片放到一个文件夹里
124 1
教你IO流来便利电脑磁盘所有文件,把图片放到一个文件夹里
OushuDB-把需要加载的数据文件放到gpfdist数据目录
OushuDB-把需要加载的数据文件放到gpfdist数据目录
64 0
强力删除文件和临时文件的批处理工具
强力删除文件和临时文件的批处理工具
137 0
好工具推荐系列:写个.bat批处理脚本,实现一键删除VC++目录下的临时文件
好工具推荐系列:写个.bat批处理脚本,实现一键删除VC++目录下的临时文件
174 0