中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-16 06:16
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一個 PRO/E 配置批處理的疑惑 查看 1,665 回复 8
楼 主 一個 PRO/E 配置批處理的疑惑 发表于 2005-12-21 16:15 ·  中国 广东 东莞 电信
初级用户
积分 51
发帖 17
注册 2005-09-19 14:53
UID 42632
性别 男
状态 离线
版大\高手幫忙﹐能幫我解釋下面的批處理寫的是什么嗎?謝謝﹗


@echo off

if NOT "%PTC_BMODE%" == "" goto skipifbmode

@echo off

set MC=unset
if "%PROCESSOR%" == "INTEL_64" set MC=ia64_nt
if "%PROCESSOR%" == "INTEL_486" set MC=i486_nt
if "%PROCESSOR%" == "MIPS_R4000" set MC=r4000_nt
if "%PROCESSOR%" == "Alpha_AXP" set MC=alpha_nt
if "%PROCESSOR_ARCHITECTURE%" == "IA64" set MC=ia64_nt
if "%PROCESSOR_ARCHITECTURE%" == "x86" set MC=i486_nt
if "%PROCESSOR_ARCHITECTURE%" == "MIPS" set MC=r4000_nt
if "%PROCESSOR_ARCHITECTURE%" == "ALPHA" set MC=alpha_nt
if not "%winbootdir%" == "" set mc=i486_win95
if not "%MC%" == "unset" goto mc_done
echo ERROR Cannot detect what machine type you have.
echo Please make one of the following settings:
echo.
echo set PROCESSOR=Alpha_AXP - For Windows NT Alpha based machines.
echo.
echo set PROCESSOR=MIPS_R4000 - For Windows NT MIPS based machines.
echo.
echo set PROCESSOR=INTEL_486 - For Windows NT Intel based machines.
echo.
echo set PROCESSOR=INTEL_64 - For Windows Intel Itanium based machines.
echo.
echo set winbootdir=<boot dir> - For Windows 95/98 machines.
echo.
exit
:mc_done

if NOT "%mc%" == "i486_win95" goto postenv4096
if "%env4096%" == "true" goto postenv4096
set env4096=true
command.com /E:4096 /C %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
set env4096=
goto ptc_end
:postenv4096

set PRO_MACHINE_TYPE=%MC%

if "%PROOBJ_START_DIRECTORY%" == "" set PRO_DIRECTORY=
if NOT "%PRO_DIRECTORY%" == "" "%PRO_DIRECTORY%\bin\%MC%_ptc_setvars" %0 "proe2001" bat
if "%PRO_DIRECTORY%" == "" %MC%_ptc_setvars %0 "proe2001" bat
call ptc_setvars.bat
del ptc_setvars.bat

if NOT "%mc%" == "i486_win95" set start_cmd=start ""
if "%mc%" == "i486_win95" set start_cmd=start

set PRO_DIRECTORY=%PRODIR%
if NOT "%PTCPATH%" == "" goto ptcpathset

if NOT "%mc%" == "i486_win95" goto not95
set path="%PRO_DIRECTORY%\bin;%path%"
goto pathdone
:not95
set path=%PRO_DIRECTORY%\bin;%path%
:pathdone

set PTCPATH=true
:ptcpathset


REM ptc-cmdtype: proe

if NOT "%INTRALINK_DIR%" == "" goto ptidir
set INTRALINK_DIR=__INTRALINK_DIR__
:ptidir


if NOT exist "%INTRALINK_DIR%\%MC%\illib\proilws.dll" goto ptcdefpathset
if NOT "%mc%" == "i486_win95" goto not95two
set path="%INTRALINK_DIR%\%MC%\illib;%path%"
goto pdtwo
:not95two
set path=%INTRALINK_DIR%\%MC%\illib;%path%
:pdtwo
goto ptcilibpathset
:ptcdefpathset
if NOT "%mc%" == "i486_win95" goto not95thr
set path="%path%;%PRO_DIRECTORY%\%MC%\deflib"
goto pdthree
:not95thr
set path=%path%;%PRO_DIRECTORY%\%MC%\deflib
:pdthree
:ptcilibpathset

if NOT "%mc%" == "i486_win95" goto not95for
set path="%path%;%PRO_DIRECTORY%\%MC%\lib"
goto pdfour
:not95for
set path=%path%;%PRO_DIRECTORY%\%MC%\lib
:pdfour

set PRONCPOST_START=propostq

if "%PTCNMSPORT%" == "" set PTCNMSPORT=1239
"%prodir%\%mc%\nms\nmsq.exe" -quiet -ping
if "%NMSD_TIMEOUT%" == "" set NMSD_TIMEOUT=300
if ERRORLEVEL 1 %start_cmd% /min "%PRO_DIRECTORY%\%MC%\nms\nmsd.exe" -noservice -timeout %NMSD_TIMEOUT%

set PRO_COMM_MSG_EXE=%prodir%\%mc%\obj\pro_comm_msg.exe
set PROE_START=%prodir%\bin\proe2001.bat

if "%CDRS_DATA%" == "" set CDRS_DATA=%prodir%
set PRO_IMAGE_CONVERTER=%prodir%\%mc%\obj\convert_image.exe
set PRO_PHOTORENDER=%prodir%\%mc%\obj\PhotoRender.exe

set GALAXYHOME=%prodir%\%mc%

set PROGUIDE_DIRECTORY=%prodir%\uifdoc
set SPG_DIRECTORY=%\prodir%
set PRO_USRMAIN=%prodir%\usrprog\umain\usrmain.c
set PROTABLE_DIRECTORY=%prodir%\protable
set PROTAB=%prodir%\%mc%\obj\protab.exe
set CLHOME=%prodir%\text\pcldata
set CV_ENV_HOME=%prodir%\%mc%\CV110

if NOT "%LM_LICENSE_FILE%" == "" set LM_LICENSE_FILE=c:\Program Files\proe2001\CRACK\license.dat;%LM_LICENSE_FILE%
if "%LM_LICENSE_FILE%" == "" set LM_LICENSE_FILE=c:\Program Files\proe2001\CRACK\license.dat
set PROE_FEATURE_NAME=PROE_1134265

if exist "%PRO_DIRECTORY%\install\nt\pro_mech_loc.bat" set PRO_MECH_COMMAND=%0
if exist "%PRO_DIRECTORY%\install\nt\pro_mech_loc.bat" call "%PRO_DIRECTORY%\install\nt\pro_mech_loc.bat"
if NOT exist "%PRO_DIRECTORY%\install\nt\pro_mech_loc.bat" goto nomechloc
if exist "%MECH_LP%\install\nt\pro_mech_env.bat" call "%MECH_LP%\install\nt\pro_mech_env.bat"
:nomechloc

:skipifbmode

set slashb=
if %MC% == i486_nt set slashb=/b
if %MC% == r4000_nt set slashb=/b
if %MC% == alpha_nt set slashb=/b

set slashw=
if "%1" == "pro_wait" set slashw=/w
if "%2" == "pro_wait" set slashw=/w
if "%3" == "pro_wait" set slashw=/w
if "%4" == "pro_wait" set slashw=/w
if "%5" == "pro_wait" set slashw=/w
if "%6" == "pro_wait" set slashw=/w

if "%1" == "-v" set slashw=/w
if "%2" == "-v" set slashw=/w
if "%3" == "-v" set slashw=/w
if "%4" == "-v" set slashw=/w
if "%5" == "-v" set slashw=/w
if "%6" == "-v" set slashw=/w

if exist "%PRO_DIRECTORY%\ptc_startup.bat" call "%PRO_DIRECTORY%\ptc_startup.bat"
if exist "%HOMEDRIVE%\%HOMEPATH%\ptc_startup.bat" call "%HOMEDRIVE%\%HOMEPATH%\ptc_startup.bat"
if exist ".\ptc_startup.bat" call ".\ptc_startup.bat"

REM %start_cmd% "%PRO_DIRECTORY%\%MC%\obj\portmap.exe" -noservice
%start_cmd% %slashb% %slashw% "%PRO_DIRECTORY%\%MC%\obj\xtop" %1 %2 %3 %4 %5 %6
:ptc_end

[ Last edited by willsort on 2005-12-22 at 11:33 ]
2 发表于 2005-12-21 16:16 ·  中国 广东 东莞 电信
初级用户
积分 51
发帖 17
注册 2005-09-19 14:53
UID 42632
性别 男
状态 离线
最好是每一句都給我解釋一下﹗我萬分感謝﹗
3 发表于 2005-12-21 16:33 ·  中国 广东 惠州 电信
初级用户
★★
积分 184
发帖 66
注册 2005-11-18 15:47
UID 45474
状态 离线
是BAT文件的吧,在网上曾经看过它的详细介绍,你找找看,我不想学过,呵呵
4 发表于 2005-12-21 16:50 ·  中国 河北 唐山 联通
版主
★★★
操作系统爱好者
积分 1,113
发帖 392
注册 2002-11-11 00:00
UID 228
性别 男
状态 离线
真的怀念没有网络的时代,可以在书的海洋里踏实地学习一些基础知识,现代的年轻人的基础太差了。
DOS之家 http://doshome.com 站长 葛明阳
5 发表于 2005-12-21 16:53 ·  中国 广东 广州 白云区 电信
荣誉版主
★★★
积分 718
发帖 313
注册 2005-09-26 00:00
UID 42844
性别 男
状态 离线
从proilws.dll 等文件看,这是PRO/E的启动或者安装的 .bat文件。
不过好像有点局限,怎么没有看到支持AMD的CPU,按上边已经都支持64位的U啦。不解....
具体解释不想说,水平有限,不想误导人。
6 发表于 2005-12-22 08:35 ·  中国 广东 东莞 电信
初级用户
积分 51
发帖 17
注册 2005-09-19 14:53
UID 42632
性别 男
状态 离线
Originally posted by gmy at 2005-12-21 16:50:
真的怀念没有网络的时代,可以在书的海洋里踏实地学习一些基础知识,现代的年轻人的基础太差了。

如果老大有心幫我的話就請指點﹐而不是一句損人抬己的話就完了﹐這可不是做版大的作風哦﹗正因為我有疑惑﹐我才會問﹗虛心向各路大俠﹑英雄學習不﹐不過我還得感謝你的忠言﹑良藥﹗在此拜謝了﹗
7 发表于 2005-12-22 08:36 ·  中国 广东 东莞 电信
初级用户
积分 51
发帖 17
注册 2005-09-19 14:53
UID 42632
性别 男
状态 离线
Originally posted by 220110 at 2005-12-21 16:53:
从proilws.dll 等文件看,这是PRO/E的启动或者安装的 .bat文件。
不过好像有点局限,怎么没有看到支持AMD的CPU,按上边已经都支持64位的U啦。不解....
兠...

謝謝你﹗能再深入一點嗎?
8 发表于 2005-12-22 11:32 ·  中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
Re lrb:

从全文内容来看,应该就是 220110 兄所提到的 PRO/E 的启动或安装环境配置批处理。此程序只是起到了变量设置和程序入口的作用,所用到的批处理语法都很基础,逐句解释(主要是变量的含义和入口程序的作用)既没有必要,也存在很大难度,因为它需要对 PRO/E 有相当的了解才行。恕我无能为力!
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
9 发表于 2005-12-22 12:41 ·  中国 广东 东莞 电信
初级用户
积分 51
发帖 17
注册 2005-09-19 14:53
UID 42632
性别 男
状态 离线
謝謝willsort兄﹐你說的沒有錯﹐這是PRO/E2001的啟動批處理文件﹐因為我是用2001工作的﹐我很想剖析它﹐我對2001有很深入的了解和運用﹐但對批處理不是很了解﹐所以才請各位幫忙的﹗也很想深入的去了解批處理和DOS﹗

特別是這個批處理里面的一些參數我不是很了解﹗

[ Last edited by lrb on 2005-12-22 at 12:43 ]
论坛跳转: