Board logo

标题: 磁盘背景更换程序(自己编的) [打印本页]

作者: bw070     时间: 2007-5-14 21:16    标题: 磁盘背景更换程序(自己编的)
自己编了个可以更改磁盘背景的批处理,编好了转成EXE发出来
在论坛待了也段日子了 学了不少东西 本人向各位老师说声谢谢!



程序代码大部分由本人独立编写

有一部分代码由 中国DOS联盟论坛 的 lxmxn 编写

在此向 lxmxn 表示感谢

使用方法:

下载解压后运行Disk Background Changer.EXE即可

请保证更换图片与本程序在同一目录下

详细使用方法请访问:

http://www.adminhy.xinwen365.net/computer/diskbackgrdchanger.htm

程序效果图


















点此下载 Disk Background Changer

效果图






作者: fengzi     时间: 2007-5-15 01:42
呵呵``高手挖`

作者: ttyp     时间: 2007-5-15 09:43
干嘛转成EXE?

作者: wudixin96     时间: 2007-5-15 09:54
类似的帖子已经有了。

http://www.cn-dos.net/forum/viewthread.php?tid=25517

Last edited by wudixin96 on 2007-5-15 at 09:58 AM ]

作者: tttest     时间: 2007-5-15 10:40
放源码出来。。

作者: zhoushijay     时间: 2007-5-15 11:06
用desktop的吧,这个文件还可以修改文件夹图标,用autorun可以修改磁盘的图标

作者: bw070     时间: 2007-5-15 11:54
.

Last edited by bw070 on 2007-5-15 at 11:46 PM ]

作者: bw070     时间: 2007-5-15 12:02
写成EXE因为不喜欢BAT那个单调的图表 转成EXE可以自己改图标

楼上给出别人编的我没有看过 不过我的代码也可以证实 我编的比他的差多了....呵呵

我的支持在BAT所在目录放入多张图片 而且可以选择其中的任意图片为你的任意磁盘设定背景 也许这点比那位兄弟编的在功能上好一些吧

呵呵

这样的图表不是好看一点么?



Last edited by bw070 on 2007-5-15 at 12:12 PM ]

作者: ttyp     时间: 2007-5-15 13:30
图标是好看,但是别人不敢用啊,除非你只想自己用,有源码的放心多了,还能学到东西

作者: gne3     时间: 2007-5-15 13:35
路过
Gne┼───

作者: bw070     时间: 2007-5-15 14:09
Originally posted by ttyp at 2007-5-15 01:30 PM:
图标是好看,但是别人不敢用啊,除非你只想自己用,有源码的放心多了,还能学到东西



哈哈 那你现在还敢用不 呵呵

作者: yefenghome     时间: 2007-5-22 13:43
Originally posted by zhoushijay at 2007-5-15 11:06:
用desktop的吧,这个文件还可以修改文件夹图标,用autorun可以修改磁盘的图标



我也是这么觉得的,也许只有这一种办法

作者: zglxw     时间: 2007-5-23 18:26
支持

作者: 546474     时间: 2007-5-25 19:30
其实就是改系统文件的。

作者: longhgc     时间: 2007-7-9 15:12
支持下..

作者: qinbuer     时间: 2007-7-9 20:34
实在不欣赏楼主的行为,我想这个论坛的宗旨无非就是:资源共享,虽然阁下的程序

我想泡过论坛两三星期的人都能猜得出来,但既然楼主有了作品,就应该把源代码帖

出来,一方面让走的远的兄弟指导,另一方面也让起步晚的兄弟学习学习,阁下的做

法难道是学了东西就向我们炫耀来了?

作者: wang6610     时间: 2007-7-9 21:17
@Echo Off

title 磁盘背景更换程序 By:Dark Blue WebSite:adminhy.xinwen365.net

If Exist c:\readme.txt Goto :overreadme

Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
Echo ☆ ★
Echo ★ 请详细阅读本说明: ☆
Echo ☆ (注意:本说明只出现一次!) ★
Echo ★ 您现在使用的是"磁盘背景更换程序",由Dark Blue编写,QQ:93691582 ☆
Echo ☆ 请将需要更换的图片与本程序放在同一目录下,图片数量不限制,但请 ★
Echo ★ 尽量保持在20以下,且仅支持JPG格式,若图片为其他格式请自行转换, ☆
Echo ☆ 本程序不提供转换功能。本程序流程比较清晰,如果还有有什么不清楚 ★
Echo ★ 请直接运行本程序,相信只需要一次您就可以轻松掌握。需要注意的是 ☆
Echo ☆ 程序只能更改磁盘根目录背景,且每次修改后素材图片消失。建议图片 ★
Echo ★ 名与修改磁盘盘符相对应如1.jpg 2.jpg 3.jpg 分别对应 C盘 D盘 E盘 ☆
Echo ☆ 这样在修改时不至于把自己弄混了。本程序请不要放在磁盘根目录下执 ★
Echo ★ 行,可能产生未知的BUG。 ☆
Echo ☆ 个人小站 http://adminhy.xinwen365.net 欢迎您的到来。 ★
Echo ★ ☆
Echo ☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
Echo.
Echo.
Echo.

Set /p right=请勿修改或者反编译本程序:(Y=同意;N=不同意)
If /i %right% equ y (Echo 版权归Dark Blue所有>c:\readme.txt&attrib c:\readme.txt +s +h&Goto :readme_y)

Goto :End
:readme_y
Echo.
Echo.
Echo.
:overreadme

Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆
Echo ☆ ★
Echo ★ 正在检测您的电脑...请稍等! ☆
Echo ☆ ★
Echo ☆★☆★☆★☆★☆★☆★☆★☆★☆★
Echo %time% && ping 127.1 -n 4 >nul && Echo %time%
cls

Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
Echo ★ ☆
Echo ★ 数据如下: 盘符 存在与否 (仅列出存在磁盘!) ☆

If Not Exist c:\ Goto :c
Echo ★ C 存 在 ☆
:c

If Not Exist D:\ Goto :D
Echo ★ D 存 在 ☆
:D

If Not Exist E:\ Goto :E
Echo ★ E 存 在 ☆
:E

If Not Exist F:\ Goto :F
Echo ★ F 存 在 ☆
:F

If Not Exist G:\ Goto :G
Echo ★ G 存 在 ☆
:G

If Not Exist H:\ Goto :H
Echo ★ H 存 在 ☆
:H

If Not Exist I:\ Goto :I
Echo ★ I 存 在 ☆
:I

If Not Exist J:\ Goto :J
Echo ★ J 存 在 ☆
:J

If Not Exist K:\ Goto :K
Echo ★ K 存 在 ☆
:K

If Not Exist L:\ Goto :L
Echo ★ L 存 在 ☆
:L

If Not Exist M:\ Goto :M
Echo ★ M 存 在 ☆
:M

If Not Exist N:\ Goto :N
Echo ★ N 存 在 ☆
:N

If Not Exist O:\ Goto :O
Echo ★ O 存 在 ☆
:O

If Not Exist P:\ Goto :P
Echo ★ P 存 在 ☆
:P

If Not Exist Z:\ Goto :Z
Echo ★ Z 存 在 ☆
:Z

If Not Exist Y:\ Goto :Y
Echo ★ Y 存 在 ☆
:Y

If Not Exist X:\ Goto :X
Echo ★ X 存 在 ☆
:X

If Not Exist U:\ Goto :U
Echo ★ U 存 在 ☆
:U

If Not Exist V:\ Goto :V
Echo ★ V 存 在 ☆
:V

If Not Exist W:\ Goto :W
Echo ★ W 存 在 ☆
:W
Echo ★ ☆
Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆

:reinput
Echo.
Echo.
Echo 例如:C盘即输入"C"(注意:不需要输入引号!)
Echo.
Echo 您当前的位置是:%disk%盘
Echo.
Set /p disk=请您输入您需要更改磁盘的盘符:

Echo >%disk%:\desktop.ini
Echo {BE098140-A513-11D0-A3A4-00C04FD706EC}= >>%disk%:\desktop.ini
Echo {BE098140-A513-11D0-A3A4-00C04FD706EC} >>%disk%:\desktop.ini
Echo >>%disk%:\desktop.ini
Echo Attributes=1 >>%disk%:\desktop.ini
Echo IconArea_Image=backpic.jpg >>%disk%:\desktop.ini
Echo >>%disk%:\desktop.ini
Echo ConfirmFileOp=0 >>%disk%:\desktop.ini
attrib %disk%:\desktop.ini +s +h

cls


If Not Exist %disk%:\ (Echo 错误!您输入的磁盘不存在!5秒后重新输入...&Echo %time% && ping 127.1 -n 5 >nul && Echo %time%&cls&Goto :reinput)

If Exist %disk%:\backpic.jpg (Echo →状态:磁盘%disk%已经存在背景!&Echo.)
If Not Exist %disk%:\backpic.jpg (Echo →状态:磁盘%disk%尚未创建背景!请选①创建!&Echo.)


:cho
Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆
Echo ☆ ★
Echo ★ 序列号 对应操作 ☆
Echo ☆ ★
Echo ★ ① 更换磁盘背景 ☆
Echo ☆ ② 取消磁盘背景 ★
Echo ★ ③ 重新选择分区 ☆
Echo ☆ ④ 退出本程序 ★
Echo ★ ⑤ 查看作者信息 ☆
Echo ☆ ★
Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆
Echo.
Set /p moves=请输入您所希望的操作序列号:

If /i %moves% equ 1 (Goto :cho1)
If /i %moves% equ 2 (Goto :cho2)
If /i %moves% equ 3 (cls&Goto :reinput)
If /i %moves% equ 4 (cls&Goto :End)
If /i %moves% equ 5 (cls&Goto :info)

cls
Echo 输入错误!请重新输入
Echo.
Goto :cho

:cho1

If Exist *.jpg Goto :Exist
cls
Echo 未探测到JPG格式图片,请在当前目录置入图片!
Echo.
Goto :cho
:Exist

If Exist backpic.jpg Goto :end2
@attrib %disk%:\backpic.jpg -s -h
@Del %disk%:\backpic.jpg
cls


Echo 序列号 图片名 (请勿输入无效序列号!)

Setlocal EnableDelayedExpansion
Set a=1
For %%a In (*.jpg) Do (
Set jpgfile!a!="%%a"
Echo !a! %%a
Set/a a+=1
)

Set/p choose=请选择图片序列号(选中图片将设为%disk%盘的背景):
Ren !jpgfile%choose%! 4backpic.jpg


If Exist %disk%:\backpic.jpg Goto :endcho1
@Copy 4backpic.jpg %disk%:\backpic.jpg
Del 4backpic.jpg
:endcho1
attrib %disk%:\backpic.jpg +s +h
cls
Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
Echo ☆ ★
Echo ★ 磁盘%disk%背景设置完毕,稍后请右键刷新查看效果!
Echo ☆ 5秒后返回菜单... ★
Echo ★ ☆
Echo ☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

Echo %time% && ping 127.1 -n 5 >nul && Echo %time%
cls
Goto :cho


:cho2
@attrib %disk%:\backpic.jpg -s -h
@Del %disk%:\backpic.jpg
cls
Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
Echo ☆ ★
Echo ★ 磁盘%disk%背景还原完毕,稍后请右键刷新查看效果!
Echo ☆ 5秒后返回菜单... ★
Echo ★ ☆
Echo ☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

Echo %time% && ping 127.1 -n 5 >nul && Echo %time%
cls
Goto :cho


:end2
cls
Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
Echo ☆ ★
Echo ★ 对不起,设计者不允许程序执行在磁盘根目录下! ☆
Echo ☆ 10秒后自动关闭本程序...或者请您关闭本程序 ★
Echo ★ ☆
Echo ☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
Echo %time% && ping 127.1 -n 10 >nul && Echo %time%
Goto :End

:info
Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
Echo ☆ ★
Echo ★ 作者网名:Dark Blue ☆
Echo ☆ 作者Q Q :93691582 ★
Echo ★ 个人网站:adminhy.xinwen365.net ☆
Echo ☆ ★
Echo ★ ☆
Echo ☆ 谢谢您的使用 如果有什么好的建议请E-Mail我 ★
Echo ★ E-Mail:huyang1986.student@sina.com ☆
Echo ☆ ★
Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
Echo.
Echo.
Echo.
pause
cls
Goto :cho
:End

作者: qinbuer     时间: 2007-7-9 22:37
再次路过,加分~ ^_^

作者: qinbuer     时间: 2007-7-9 23:37
似乎有几个漏洞:

1、在测试中弹出对话框如下---------------------------

cmd.exe - 没有软盘
---------------------------
驱动器中没有软盘。 请在驱动器 H: 中插入软盘。
---------------------------
取消 重试(T) 继续(C)
---------------------------

H: 为虚拟光驱

其实我觉得中间那一大段似乎太过于臃肿了,倒不如:

Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
Echo ★ ☆
Echo ★ 数据如下: 盘符 存在与否 (仅列出存在磁盘!) ☆
for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype=3" get caption') do (
echo ★ %%i 存在 ☆
)
Echo ★ ☆
Echo ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆


这样既简洁了代码,又消除了漏洞;

2、%disk%没有定义,无法显示当然位置的盘符,输出信息如下:

例如:C盘即输入"C"(注意:不需要输入引号!)

您当前的位置是:盘

请您输入您需要更改磁盘的盘符:

以上是一个菜鸟的愚见,请勿见怪:)

Last edited by qinbuer on 2007-7-9 at 11:46 PM ]