使用另一个批处理文件从特定行/部分执行批处理文件

时间:2015-02-09 16:52:38

标签: windows batch-file

我又有2个文件

Script.bat
StartScript.bat

Script.bat 文件中的代码:

echo 1
echo 2
echo 3
pause

我想创建 StartScript.bat 文件以从特定的行/部分启动 Script.bat 文件(例如来自echo 2

像这样:

Start Script.bat skip line 1

Start Script.bat from line 2

任何人? :/

3 个答案:

答案 0 :(得分:3)

如果你可以编辑这两个文件,你可以这样做。

StartScript.bat

@ECHO OFF

IF "%1"=="1" CALL Script.bat 1
IF "%1"=="2" CALL Script.bat 2
IF "%1"=="3" CALL Script.bat 3

Script.bat

@ECHO OFF

IF "%1"=="1" GOTO SECTION1
IF "%1"=="2" GOTO SECTION2
IF "%1"=="3" GOTO SECTION3

:SECTION1
  ECHO Section 1

:SECTION2
  ECHO Section 2

:SECTION3
  ECHO Section 3

然后这样打电话:

StartScript.bat 2

会给出这个结果:

Section 2
Section 3

答案 1 :(得分:1)

非常简单(虽然这似乎是一个非常奇怪的请求):

more +1 script.bat >temp.bat
call temp.bat
del temp.bat

答案 2 :(得分:0)

以这种方式修改 Script.bat 文件:

@echo off
if /I "%~1" equ "line" goto %2

:1
echo 1
:2
echo 2
:3
echo 3
pause

如果 Script.bat 没有参数启动:

Start Script.bat

...然后从头开始执行,但如果以这种方式执行:

Start Script.bat line 2

...然后从标签:2开始。