中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-20 20:41
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何判断图片格式~! 查看 1,182 回复 11
楼 主 如何判断图片格式~! 发表于 2007-01-18 05:32 ·  中国 福建 厦门 思明区 电信
初级用户
积分 49
发帖 20
注册 2006-04-22 11:03
20年会员
UID 54248
状态 离线
如题:

判断一个文件夹里的一张图片,是那个格式,(.bmp\.jpg)



原因见 5 楼



以下是 everest79 解决的代码;
==============================================
:start
set rp="HKCU\control panel\desktop"
set /a tb=%random%%%8
for /r C:\桌面 %%i in (%tb%.*) do (
reg add %rp% /v TileWallpaper /d 0 /f
reg add %rp% /v Wallpaper /d %%~fi /f
reg add %rp% /v WallpaperStyle /d 2 /f
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
echo 更换桌面背景成功......)
pause
goto start

===============================================
测试条件:

在C盘里建一个“桌面”文件夹;里面放7张为.bmp格式的图片;
把上面代码复制到记事本里,另存为***.bat

执行看效果,

[ Last edited by iaide on 2007-1-18 at 09:10 AM ]
2 发表于 2007-01-18 06:03 ·  中国 四川 成都 联通
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
后缀是什么格式就是什么格式

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
3 发表于 2007-01-18 06:04 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
好像没什么必要。
简单点,echo %1&pause
拖动文件到批处理,显示文件全名。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
4 发表于 2007-01-18 06:09 ·  中国 北京 朝阳区 联通
高级用户
★★
朦胧的世界
积分 579
发帖 218
注册 2006-10-24 04:29
19年会员
UID 67972
状态 离线

@echo %~x1&pause


干什么用?

认识自己,降伏自己,改变自己
,才能改变别人!
5 发表于 2007-01-18 07:30 ·  中国 福建 厦门 电信
初级用户
积分 49
发帖 20
注册 2006-04-22 11:03
20年会员
UID 54248
状态 离线
呵,你们可能不理解;我的用途;看完我这代码,应该会理解我吧。

==============================================
@echo off
title 随机更换桌面
:start
set gs=.bmp
set gs1=.jpg
set lz=%temp%\lz.reg
set /a tb=%random%%%8
set pd=c:\桌面
set lj=c:\\桌面
echo 请稍等..........
if /i %pd%\%tb%%gs% goto OK
if /i %pd%\%tb%%gs1% goto OK1
goto start

:OK
(
echo Windows Registry Editor Version 5.00
echo.
echo [HKEY_CURRENT_USER\Control Panel\Desktop]
echo "TileWallpaper"="0"
echo "Wallpaper"="%lj%\\%tb%%gs%"
echo "WallpaperStyle"="2"
) > %lz%
regedit /s %temp%\lz.reg
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
del /s %lz% >nul
echo 更换桌面背景成功...........
exit

:OK1
(
echo Windows Registry Editor Version 5.00
echo.
echo [HKEY_CURRENT_USER\Control Panel\Desktop]
echo "TileWallpaper"="0"
echo "Wallpaper"="%lj%\\%tb%%gs1%"
echo "WallpaperStyle"="2"
) > %lz%
regedit /s %temp%\lz.reg
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
del /s %lz% >nul
echo.
echo.
echo 更换桌面背景成功...........

================================================

我这样判断不出来,所以请教各位,能否给我指导一下,
6 发表于 2007-01-18 07:50 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线

set rp="HKCU\control panel\desktop"
set /a tb=%random%%%8
for /r C:\桌面 %%i in (%tb%.*) do (
reg add %rp% /v TileWallpaper /d 0 /f
reg add %rp% /v Wallpaper /d %%~fi /f
reg add %rp% /v WallpaperStyle /d 2 /f
"RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters"
echo 更换桌面背景成功......)
7 发表于 2007-01-18 07:55 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
请教楼主你的刷新命令有用吗?我是说刷新后图片会改变吗?
我怎么试了不行
你是不是在组策略里指定了桌面?
8 发表于 2007-01-18 08:27 ·  中国 山东 济南 电信
社区乞丐
★★
此图片另存后死机
积分 -49
发帖 90
注册 2006-12-02 13:00
19年会员
UID 72412
性别 男
状态 离线
我这也是没有用,后来只好借助于微软的bgswitch

[CODE]
REGSVR32 /S bgswitch.dll
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Directory" /t REG_SZ /d F:\桌面背景\wallpaper /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Refresh Unit" /t REG_DWORD /d 0 /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Refresh Frequency" /t REG_DWORD /d 0 /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Random" /t REG_DWORD /d 1 /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Disabled" /t REG_DWORD /d 0 /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Force Stretch" /t REG_DWORD /d 0 /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Count" /t REG_DWORD /d 0 /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Current" /t REG_DWORD /d 3 /f
bgswitch
[CODE]
我的网络笔记本.非联系本人请勿访问!http://w.vicp.net
9 发表于 2007-01-18 08:43 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
那一定是在组策略里指定了开启了桌面图片,这样才会监视得到
10 发表于 2007-01-18 09:05 ·  中国 福建 厦门 电信
初级用户
积分 49
发帖 20
注册 2006-04-22 11:03
20年会员
UID 54248
状态 离线
Originally posted by everest79 at 2007-1-18 07:50:

set rp="HKCU\control panel\desktop"
set /a tb=%random%%%8
for /r C:\桌面 %%i in (%tb%.*) do (
reg add %rp% /v TileWallpaper /d 0 /f
reg add %rp% /v Wallpaper /d %%~fi /f
re ...



呵,这个就是我想要的,发现一点就是改注册表的,格式只能用.bmp ,.jgp的不起效的,。我本来的批处理也是在BAT里直接修改注表的。可以当时就是不可用,原来是这个原因,.jpg的不行,
11 发表于 2007-01-19 04:04 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
原来是这样,晕,我记得图片传真查看器是可以自动转换图片格式的,我查查看有没用
12 发表于 2007-01-20 01:06 ·  中国 广东 深圳 电信
初级用户
积分 31
发帖 14
注册 2006-07-12 09:05
19年会员
UID 58428
状态 离线
学习
论坛跳转: