中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 根据操作系统的语言创建快捷方式
作者:
标题: 根据操作系统的语言创建快捷方式 上一主题 | 下一主题
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『楼 主』:  根据操作系统的语言创建快捷方式

没有发表过文章,也来发表一下。见笑,还望高手指点。
怎样根据操作系统的语言创建桌面,快速启动和程序菜单中的快捷菜单呢?虽然目前有很多软件都支持,但效果不是很理想,要么创建的快捷方式受到限制,要么就创建的不是很顺利。
其实使用批处理就可以简单的实现。。。。。
首先在文件夹的同目录建立程序的快捷方式,并设置好图标和名称;
其次使用“桌面”,或“程序”等关键字判断是什么语言的操作系统,在根据不同的操作系统建立快捷方式。示范代码如下:
@echo off
rem 建立快捷方式前先隐藏去掉快捷方式的隐藏属性,注意我的快捷方式在上层目录中,名称为“Microsoft Office Access2K Runtime.lnk”
ATTRIB -H ..\"Microsoft Office Access2K Runtime.lnk"
rem 使用IF EXIST判断系统语言并复制快捷方式
IF EXIST "%ALLUSERSPROFILE%"\DESKTOP\ copy ..\"Microsoft Office Access2K Runtime.lnk" "%ALLUSERSPROFILE%"\DESKTOP\ /Y
IF EXIST "%ALLUSERSPROFILE%"\桌面\ copy ..\"Microsoft Office Access2K Runtime.lnk" "%ALLUSERSPROFILE%"\桌面\ /Y
IF EXIST "%ALLUSERSPROFILE%"\"「START」MENU"\PROGRAM\ copy ..\"Microsoft Office Access2K Runtime.lnk" "%ALLUSERSPROFILE%"\"「START」MENU"\PROGRAM\ /Y
IF EXIST "%ALLUSERSPROFILE%"\"「开始」菜单"\程序\ copy ..\"Microsoft Office Access2K Runtime.lnk" "%ALLUSERSPROFILE%"\"「开始」菜单"\程序\ /Y
IF EXIST "%ALLUSERSPROFILE%"\"「開始」菜單"\程序\ copy ..\"Microsoft Office Access2K Runtime.lnk" "%ALLUSERSPROFILE%"\"「開始」菜單"\程序\ /Y
copy ..\"Microsoft Office Access2K Runtime.lnk" "%USERPROFILE%"\"Application Data"\"Microsoft"\"Internet Explorer"\"Quick Launch"\ /Y
REM 完成后隐藏快捷方式。
ATTRIB +H ..\"Microsoft Office Access2K Runtime.lnk"

说明:如何在简体系统上获取繁体字:在WINWORD中输入需要的文字,使用繁简转换获得繁体文字,再在记事本中编辑批处理时替换即可。
由于本人工作在广东这边,所以很多时候都使用繁体系统,简体的批处理在繁体上全是乱码,所以可以使用这种思路编写多语版本的提示文字,如
IF EXIST "%ALLUSERSPROFILE%"\"「START」MENU“\ CALL EN.BAT
IF EXIST "%ALLUSERSPROFILE%"\"「开始」菜单"\ CALL CHS.BAT
IF EXIST "%ALLUSERSPROFILE%"\"「開始」菜單"\ CALL CHT.BAT

2006-12-5 23:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:  

  判断操作系统的语言版本,可以用 chcp 命令。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-12-6 00:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 3 楼』:  

请问namejm斑竹,使用namejm怎么来判断呢?我只知道这个东西如果是使用某些纯DOS后不能识别中文,可以用这个东西来转化。请详细解说下。谢谢。

2006-12-6 00:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 4 楼』:  

我的意思是判断系统是简体,还是繁体语言

2006-12-6 00:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
heicai
中级用户





积分 385
发帖 156
注册 2007-1-19
状态 离线
『第 5 楼』:  

932日语
936简体
950繁体
1252英语

不知道对不对。
有这些就可以判断了吧?希望楼主完善代码

2007-1-22 09:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lovehack2006
初级用户





积分 135
发帖 64
注册 2006-12-20
状态 离线
『第 6 楼』:  

好贴子。。收藏先

2007-2-16 03:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
33223169
新手上路





积分 7
发帖 4
注册 2007-12-5
状态 离线
『第 7 楼』:  

好贴子

2007-12-5 13:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Eadmin
新手上路





积分 4
发帖 2
注册 2007-12-17
状态 离线
『第 8 楼』:  

@echo off
cls

for /f "tokens=1,2,3,4" %%h in ('chcp') do (set lang=%%k)

::code page 判斷繁,簡, 其他語言時使用英文
if /i %lang% EQU 950 (goto CHT) else (goto Eng)
if /i %lang% EQU 936 (goto CHS)  else (goto Eng)

:CHT
echo 繁體版本
goto EX

:CHS
echo 簡體版本

goto EX

:ENG
echo 英文版本



:EX  
::echo 退出

exit

2008-1-25 00:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: