中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 磁盘背景更换程序(自己编的)
« [1] [2] »
作者:
标题: 磁盘背景更换程序(自己编的) 上一主题 | 下一主题
qinbuer
高级用户

我思故我在


积分 512
发帖 228
注册 2007-1-21
状态 离线
『第 16 楼』:  

实在不欣赏楼主的行为,我想这个论坛的宗旨无非就是:资源共享,虽然阁下的程序

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

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

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



我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
2007-7-9 20:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wang6610
银牌会员




积分 1246
发帖 488
注册 2003-11-11
状态 离线
『第 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 [ExtShellFolderViews] >%disk%:\desktop.ini
Echo {BE098140-A513-11D0-A3A4-00C04FD706EC}= >>%disk%:\desktop.ini
Echo {BE098140-A513-11D0-A3A4-00C04FD706EC} >>%disk%:\desktop.ini
Echo [{BE098140-A513-11D0-A3A4-00C04FD706EC}] >>%disk%:\desktop.ini
Echo Attributes=1 >>%disk%:\desktop.ini
Echo IconArea_Image=backpic.jpg >>%disk%:\desktop.ini
Echo [.ShellClassInfo] >>%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

   此帖被 +4 点积分        点击查看详情   
评分人:【 qinbuer 分数: +4  时间:2007-7-9 22:35


2007-7-9 21:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinbuer
高级用户

我思故我在


积分 512
发帖 228
注册 2007-1-21
状态 离线
『第 18 楼』:  

再次路过,加分~  ^_^



我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
2007-7-9 22:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinbuer
高级用户

我思故我在


积分 512
发帖 228
注册 2007-1-21
状态 离线
『第 19 楼』:  

似乎有几个漏洞:

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 ]



我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
2007-7-9 23:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: