Batch file 批处理文件-未被识别为内部命令

Batch file 批处理文件-未被识别为内部命令,batch-file,Batch File,我创建了一个。将按如下方式运行模型的批处理。在命令提示符(DOS)中,我执行以下操作: C:\ProgramFiles\Portico\Portico-1.0.2\exec>executePortico.bat名称\u型号 示例:executepartico.bat示例cppffederate 但这个错误: “C:\Documents”未被识别为内部命令 或外部可操作程序或批处理文件。 “C:\Program Files\Portico\Portico-1.0.2\examples\cpp\cp

我创建了一个。将按如下方式运行模型的批处理。在命令提示符(DOS)中,我执行以下操作: C:\ProgramFiles\Portico\Portico-1.0.2\exec>executePortico.bat名称\u型号

示例:executepartico.bat示例cppffederate

但这个错误:

“C:\Documents”未被识别为内部命令 或外部可操作程序或批处理文件。 “C:\Program Files\Portico\Portico-1.0.2\examples\cpp\cpp13\”ExampleCPPFe 减额 按任意键继续。 “'C:\ProgramFiles\Portico\Portico-1.0.2\examples\cpp\cpp13\”ExampleCPPF ederate2'未被识别为内部命令 或外部可操作程序或批处理文件。 终止-正常

请参阅我的代码:

@echo off

rem ###########################
rem # implementation/version  #
rem ###########################


rem ################################
rem # check command line arguments #
rem ################################
:checkargs
if "%0" == "" goto usage
if "%1" == "" goto usage


rem #######################
rem # test for JAVA_HOME  #
rem #######################
if "%JAVA_HOME%" == "" goto nojava
goto rtihometest

:nojava
echo ERROR Your JAVA_HOME environment variable is not set!
goto usage

rem #######################
rem # test for RTI_HOME   #
rem #######################
:rtihometest
call C:\Arquivos de programas\Portico\portico-1.0.2\etc\confvarsC.bat
if not "%RTI_HOME%" == "" goto execute


############################################
### (target) execute #######################
############################################
:execute
SHIFT
set PATH=%JAVA_HOME%\jre\bin\client;%RTI_HOME%\bin;%PATH%
set RTI_FEDDIR="C:\Arquivos de programas\Portico\portico-1.0.2\examples\cpp\cpp13\"
set EXEC="C:\Arquivos de programas\Portico\portico-1.0.2\examples\cpp\cpp13\"


if "%0" == "m" goto exec1

:exec1
echo %EXEC%%1%.cpp
pause
%EXEC%%1%.cpp %2
goto finish


:usage
echo usage: executePortico.bat [model] [nome modelo]
goto err

:err
echo Terminated - Error
goto end

:finish
echo Terminated - Normal

:end

我需要做以下工作: 我需要运行这个软件中的例子,这样我就创建了一个文件。Bat,在命令提示符中,我这样运行: executaPortic.bat name_模型 我这样做:

@echo off

rem ###########################
rem # implementation/version  #
rem ###########################


rem ################################
rem # check command line arguments #
rem ################################
:checkargs


if "%0"=="" goto usage
if "%1"=="" goto usage



rem #######################
rem # test for JAVA_HOME  #
rem #######################
if "%JAVA_HOME%"=="" goto nojava
goto rtihometest

:nojava
echo ERROR Your JAVA_HOME environment variable is not set!
goto usage

rem #######################
rem # test for RTI_HOME   #
rem #######################
:rtihometest
call C:\Portico\portico-1.0.2\etc\confvarsC.bat
if not "%RTI_HOME%"=="" goto execute


############################################
### (target) execute #######################
############################################
:execute
SHIFT
set PATH=%JAVA_HOME%\jre\bin\client;%RTI_HOME%\bin;%PATH%
set RTI_FEDDIR=C:\Portico\portico-1.0.2\examples\cpp\cpp13\
set EXEC=C:\Portico\portico-1.0.2\examples\cpp\cpp13\

rem ###########################
rem # if "%0"=="m" goto exec1
rem ###########################

goto exec1

:exec1
echo %EXEC%%1.exe
pause
"%EXEC%%1.exe" %2
goto finish


:usage
echo usage: executePortico.bat [model] [nome modelo]
goto err

:err
echo Terminated - Error
goto end

:finish
echo Terminated - Normal

:end
但现在这个错误: C:\Portico\Portico-1.0.2\exec>executePortic.bat main
输入行太长。

我修复了其他几个小语法错误,例如将
%1%
替换为
%1
,并在
调用blah\blah\confvarsC.bat
行中添加引号。如果不知道脚本期望参数是什么,或者不了解示例用法,我就无法修复其他一些潜在问题。我用
标记了它们注释

@echo off

rem ###########################
rem # implementation/version  #
rem ###########################


rem ################################
rem # check command line arguments #
rem ################################
:checkargs
if #%1==# goto usage
if #%2==# goto usage


rem #######################
rem # test for JAVA_HOME  #
rem #######################
if "%JAVA_HOME%"=="" goto nojava
goto rtihometest

:nojava
echo ERROR Your JAVA_HOME environment variable is not set!
goto usage

rem #######################
rem # test for RTI_HOME   #
rem #######################
:rtihometest
call "C:\Arquivos de programas\Portico\portico-1.0.2\etc\confvarsC.bat"
if not "%RTI_HOME%"=="" goto execute


rem ############################################
rem ### (target) execute #######################
rem ############################################
:execute

rem !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
rem !!!!  SHIFT is useful if you have more than   !!!!
rem !!!!  9 arguments.  Otherwise, there's no     !!!!
rem !!!!  reason to use it.  After this, I can't  !!!!
rem !!!!  tell whether you expect %2 to be the    !!!!
rem !!!!  second script argument or the third.    !!!!
rem !!!!  -- rojo                                 !!!!
rem !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

SHIFT
set PATH=%JAVA_HOME%\jre\bin\client;%RTI_HOME%\bin;%PATH%
set RTI_FEDDIR=C:\Arquivos de programas\Portico\portico-1.0.2\examples\cpp\cpp13\
set EXEC=C:\Arquivos de programas\Portico\portico-1.0.2\examples\cpp\cpp13\


if "%0"=="m" goto exec1

rem !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
rem !!!!  Shouldn't there be some sort of    !!!!!
rem !!!!  "else goto" statement here?  As    !!!!!
rem !!!!  the script runs now, it will goto  !!!!!
rem !!!!  exec1 regardless of whether        !!!!!
rem !!!!  "%0"=="m"  -- rojo                 !!!!!
rem !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


:exec1
echo %EXEC%%1.cpp
pause
"%EXEC%%1.cpp" %2
goto finish


:usage
echo usage: executePortico.bat [model] [nome modelo]
goto err

:err
echo Terminated - Error
goto end

:finish
echo Terminated - Normal

:end

if
语句中,将
==
周围的空格去掉。另外,从
set RTI\u FEDDIR=
set EXEC=
值中删除引号,并将
%EXEC%%1%.cpp%2
更改为
%EXEC%%1%.cpp”%2
。在此之前,将安装位置更改为C:\Portico\Portico-1.0.2我照你说的做了,请参阅代码部分:
:执行移位设置路径=%JAVA\u HOME%\jre\bin\client;%RTI_HOME%\bin;%路径%set RTI\u FEDDIR=C:\Portico\Portico-1.0.2\examples\cpp\cpp13 set EXEC=C:\Portico\Portico-1.0.2\examples\cpp\cpp13\if“%0”=“m”goto exec1:exec1 echo%EXEC%%1%。cpp暂停“%EXEC%%1%%cpp”%2 goto finish:用法echo用法:executeport.bat[model][nome model]转到错误:err echo Terminated-Error goto end:finish echo Terminated-Normal:end


但出现此错误:C:\Portico\Portico-1.0.2\exec>executeport.bat main C:\Portico\Portico-1.0.2\examples\cpp\cpp13\.exe按任意键继续…'“C:\Portico\Portico-1.0.2\examples\cpp\cpp13\2”未被识别为内部命令或外部可操作程序或批处理文件。已终止-正常请参阅我的操作:1-在命令提示下:C:\Portico\Portico-1.0.2\exec>executepartico.bat main C:\Portico\Portico-1.0.2\examples\cpp\cpp13\main.exe按任意键继续…错误R[main]portico.lrc:Fed文件不存在:file=file:/C:/portico/portico-1.0.2/exec/testfom.Fed org.portico.lrc.compat.JCouldNotOpenFED:Fed文件不存在:file=file:/C:/portico/portico-1.0.2/exec/testfom.Fed如果我将executePortico.bat文件放在C:\portico\portico-1.0.2\examples\cpp\cpp13中,那么这种方法是有效的。