Board logo

标题: 根据操作系统的语言创建快捷方式 [打印本页]

作者: HUNRYBECKY     时间: 2006-12-5 23:52    标题: 根据操作系统的语言创建快捷方式

没有发表过文章,也来发表一下。见笑,还望高手指点。
怎样根据操作系统的语言创建桌面,快速启动和程序菜单中的快捷菜单呢?虽然目前有很多软件都支持,但效果不是很理想,要么创建的快捷方式受到限制,要么就创建的不是很顺利。
其实使用批处理就可以简单的实现。。。。。
首先在文件夹的同目录建立程序的快捷方式,并设置好图标和名称;
其次使用“桌面”,或“程序”等关键字判断是什么语言的操作系统,在根据不同的操作系统建立快捷方式。示范代码如下:
@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
作者: namejm     时间: 2006-12-6 00:05
  判断操作系统的语言版本,可以用 chcp 命令。
作者: HUNRYBECKY     时间: 2006-12-6 00:26
请问namejm斑竹,使用namejm怎么来判断呢?我只知道这个东西如果是使用某些纯DOS后不能识别中文,可以用这个东西来转化。请详细解说下。谢谢。
作者: HUNRYBECKY     时间: 2006-12-6 00:27
我的意思是判断系统是简体,还是繁体语言
作者: heicai     时间: 2007-1-22 09:22
932日语
936简体
950繁体
1252英语

不知道对不对。
有这些就可以判断了吧?希望楼主完善代码
作者: lovehack2006     时间: 2007-2-16 03:10
好贴子。。收藏先
作者: 33223169     时间: 2007-12-5 13:18
好贴子
作者: Eadmin     时间: 2008-1-25 00:41
@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