![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 00:54 |
共 47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 用bat汉化软件过程中,set for echo等问题的疑惑 |
| 可打印版本 993 / 8 |
| 第1楼 windowsdos | 发表于 2007-11-14 22:01 |
| 新手上路 发帖 8 积分 18 | |
|
用bat汉化软件过程中,set for echo等问题的疑惑 @echo off
start Client99SE.exe 2^>nul||echo 你要先安装protel才可以汉化&&goto end taskkill /f /im Client99SE.exe :test set /p d=请输入你安装到的磁盘(c,d,e,f,g……) for %%h in (c d e f g h i j k l m n o) do if %d%==%%h goto right1 echo 你输入的字符不合法,请检查是否忽略大小写或输入了其它非法的字符 goto test :right1 for /r %d%:\ %%i in (.) do if exist %%i\Client99SE.exe echo sucess||goto right2 :right2 set /p d=请输入你汉化文件所在的磁盘(c,d,e,f,g……) for /r %d%:\ %%j in (.) do if exist %%j\Protel99汉化 echo suess||goto right3 :right3 copy /y %%j\Protel99汉化\CLIENT99SE.rcs c:\windows\ copy /y %%j\Protel99汉化\PCB_HZ\*.* %%i copy /y %%j\Protel99汉化\GB4728.DDB %%i\library\SCH copy /y %%j\Protel99汉化\GUOBIAO Template.DDB %%i :end echo 再见 echo. & pause endlocal [ Last edited by windowsdos on 2007-11-15 at 12:21 PM ] |
|
| 第2楼 windowsdos | 发表于 2007-11-14 22:03 |
| 新手上路 发帖 8 积分 18 | |
|
汉化方法 1, 安装中文菜单
将附带光盘中的client99se.rcs复制到windows根目录中。 说明:在复制中文菜单前,先启动一次Protel99se,关闭后将windows根目录 中的client99se.rcs英文菜单保存起来。 2, 安装PCB汉字模块 将附带光盘中pcb-hz目录的全部文件复制到Design Explorer 99 se根目录中, 注意检查一下hanzi.lgs和Font.DDB文件的属性,将其只读选项去掉。 3, 安装国标码、 库 将附带光盘中的gb4728.ddb(国标库)复制到Design Explorer 99 se/ library/SCH目录中,并将其属性中的只读去掉。 将附带光盘中的Guobiao Template.ddb(国标模板)复制到Design Explorer 99 se 根目录中,并将其属性中的只读去掉。 汉化完成.OK! 4, 安装orCAD转换程序(如果需要的话) 将附带光盘中orCAD-Protel目录中的全部文件复制到Design Explorer 99 se 根目录中。 5,同学比我还菜,经常要我汉化,所以想做一个来自动汉化 |
|
| 第3楼 windowsdos | 发表于 2007-11-14 22:04 |
| 新手上路 发帖 8 积分 18 | |
|
刚刚学bat,想在做中学,因此很多基本的错误,各位大虾请海涵
|
|
| 第4楼 windowsdos | 发表于 2007-11-15 11:33 |
| 新手上路 发帖 8 积分 18 | |
|
搞了好多次发现几个问题
1)为什么我用了变量把路径复制过去后就会出现g:\.(空格),就是因为这个原因我copy时总是不成功 2)我之前学过C,发现for中的变量生命周期好像只有在for语句,因为我尝试在for语句外使用set a=%%i时,用echo %a%>c:test.txt读出时文本中是%%i 3)||的用法我看到版主lxmxn帖子上说"连接两个命令,当||前的命令失败时,才执行||后的命令"我理解成了这么个意思例如,if语句不成立就是命令失败,实在失败 4)我总想用echo来做检查,但有时发现echo %a%>test.txt时发现显示的是echo开启关闭状态 5)刚学批处理两三天,请多关照 |
|
| 第5楼 windowsdos | 发表于 2007-11-15 12:03 |
| 新手上路 发帖 8 积分 18 | |
|
没有实际测试的最新改进
@echo off echo 安装须知: echo 本作系学习之果,不完善之处还请原谅 echo 请把你的汉化文件保持原样Protel99汉化放置 echo 祝你汉化成功 start Client99SE.exe 2^>nul||echo 你要先安装protel才可以汉化&&goto end @taskkill /f /im Client99SE.exe 1>nul :test set /p d=请输入你安装到的磁盘(c,d,e,f,g……) for %%h in (c d e f g h i j k l m n o) do if %d%==%%h goto right1 echo 你输入的字符不合法,请检查是否忽略大小写或输入了其它非法的字符 goto test :right1 for /r %d%:\ %%i in (.) do if exist %%i\Client99SE.exe set b=%%i & echo 定位成功 & goto right2 echo 请确认你的%d%盘是否为protel的安装路径 goto test :right2 set /p d=请输入你汉化文件所在的磁盘(c,d,e,f,g……) for /r %d%:\ %%j in (.) do if exist %%j\Protel99汉化 set a=%%j & echo 定位成功 & goto right3 请确认你的汉化文件是否在%d%上 :right3 for /f "delims= " %%i in ("%a%") do set a=%%i for /f "delims= " %%i in ("%b%") do set b=%%i copy %a%\Protel99汉化\CLIENT99SE.rcs c:\windows 1>nul 2>nul copy %a%\Protel99汉化\PCB_HZ\*.* %b% 1>nul 2>nul copy %a%\Protel99汉化\GB4728.DDB %b%\library\SCH 1>nul 2>nul copy %a%\Protel99汉化\GUOBIAO Template.DDB %b% 1>nul 2>nul echo 再见,汉化成功 echo. & pause |
|
| 第6楼 fastslz | 发表于 2007-11-15 13:25 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
强啊,整个批处理没有一个"",你写批处理想最具有通用性的话能加""的地方加的越多多越稳定!!!!
自己试试 copy a a.txt C:\Program Files copy "a a.txt" "C:\Program Files" |
|
| 第7楼 windowsdos | 发表于 2007-11-15 16:30 |
| 新手上路 发帖 8 积分 18 | |
|
谢谢fastslz,受教了,本能想帮助同学,现在没有一个人愿意试用,很伤心,他们中了病毒时又要我不吃饭的帮忙,郁闷异常
|
|
| 第8楼 windowsdos | 发表于 2007-11-15 16:32 |
| 新手上路 发帖 8 积分 18 | |
|
其实我想学批处理,就是想他们中了通性的病毒后,我省事点,现在不用想太多了,重装对我的机子又没有影响,谁要我帮忙我就说重装
|
|
| 第9楼 killkk | 发表于 2008-10-09 22:27 |
| 初级用户 发帖 39 积分 61 来自 come from hb--wh | |
|
学习了。。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |