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

简介:

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

 

                                                 ——个性背景任你换

 

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

一、           原理

能任意更改文件夹或者磁盘的背景,主要是运用了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,如需转载请自行联系原作者


相关文章
|
人工智能 机器人 测试技术
使用LM Studio在本地运行LLM完整教程
GPT-4被普遍认为是最好的生成式AI聊天机器人,但开源模型一直在变得越来越好,并且通过微调在某些特定领域是可以超过GPT4的。
6474 1
|
安全 网络安全
Metasploit Pro 4.20.0安装与使用
Metasploit Pro 4.20.0安装与使用
511 0
|
缓存 运维 Linux
保姆级python项目离线部署服务器教程只需这一篇就够了(建议收藏)
这篇文章提供了详尽的Python项目在离线Linux(CentOS)服务器上的部署教程。作者首先介绍了环境背景,强调了无网络环境和使用有网络的CentOS虚拟机准备安装包的重要性。教程分为两部分:外网环境搭建和内网离线安装。在外网环境中,包括下载Python 3.9.0安装包、传输至服务器、安装依赖包,并使用pip3下载项目所需依赖。内网安装则涉及依赖包的复制和Python环境的同样步骤。最后,作者分享了运行项目的命令,并总结了离线安装的整个流程,提醒读者注意可能出现的问题。
保姆级python项目离线部署服务器教程只需这一篇就够了(建议收藏)
技术笔记:tcolorbox宏包简明教程
技术笔记:tcolorbox宏包简明教程
812 0
解决jupyter notebook 画图不显示
解决jupyter notebook 画图不显示
|
算法 安全 数据安全/隐私保护
非对称加密加密原理和开发场景解析
过上一节,就能很好的理解非对称加密就是加密和解密双方使用的是不同的密钥。比喻就是:一把锁,如果被A用钥匙锁上了,那么A无法继续使用自己的钥匙打开,只能让B用他的钥匙打开。而如果B用钥匙把锁给锁上之后,同样必须只有A的钥匙才能打开。所以非对称加密主要解决的问题就是:可信问题,防窃听问题。
1317 0
|
运维 Java API
OSS生成m3u8文件动态签名
针对对象存储OSS私有bucket权限的使用场景,每个object都需要生成一次签名URL。针对m3u8的索引文件,索引里的每一个ts都需要生成一次签名地址。这里提供一个通过m3u8设置header带到签名里,从而实现获取的ts带签名的方法。
6012 0
OSS生成m3u8文件动态签名
|
C#
WPF:通过BitmapSource的CopyPixels和Create方法来切割图片
原文 WPF:通过BitmapSource的CopyPixels和Create方法来切割图片   BitmapSource是WPF图像的最基本类型,它同时提供两个像素相关的方法就是CopyPixels和Create方法。
3246 0