K:\bin>type get_resolution.bat
i_view.bat "%1" /info=info.txt
echo after get_resolution
type info.txt | find "Resolution"
K:\bin>type i_view.bat
echo %*
echo %errorlevel%
echo after i_view
K:\bin>get_resolution.bat input.jpg
K:\bin>i_view.bat "input.jpg" /info=info.txt
K:\bin>echo "input.jpg" /info=info.txt
"input.jpg" /info=info.txt
K:\bin>echo 0
0
K:\bin>echo after i_view
after i_view
K:\bin>
为什么没有“after get_resolution”?
答案1
使用该call
命令。如果不使用此命令,批处理文件将“替换”当前的批处理文件。
在您的脚本中,您需要输入call i_view.bat "%1" /info=info.txt
。
cmd.exe /k
是等效的。
以下是来自的部分帮助文本call /?
。
Calls one batch program from another.
CALL [drive:][path]filename [batch-parameters]
batch-parameters Specifies any command-line information required by the
batch program.
If Command Extensions are enabled CALL changes as follows:
CALL command now accepts labels as the target of the CALL. The syntax
is:
CALL :label arguments
A new batch file context is created with the specified arguments and
control is passed to the statement after the label specified. You must
"exit" twice by reaching the end of the batch script file twice. The
first time you read the end, control will return to just after the CALL
statement. The second time will exit the batch script. Type GOTO /?
for a description of the GOTO :EOF extension that will allow you to
"return" from a batch script.