0

我需要将一些参数从一个 bat 传递file1.bat给另一个 bat file2.bat,. 问题是@echo %2inside从提示命令中file2.bat显示,因此内部定义""的变量没有按应有的方式发送,而第一个参数始终发送成功。secondVarfile1.bat

我被困在这里,因此我无法继续。调用 file2.bat "aFile" !secondVar 的目标!正在为每个 secondVar 将 secondVar 变量搜索到 aFile 中。

请有人可以告诉我发生了什么并给我一些正确的东西。非常感谢您!

file2.bat看起来像:

@echo off
echo %2
Set arg1=%1
echo %arg1%
cscript process.vbs %1>result
more +1  %1|findstr /I /r /b /C:"^T.*=%2">viewout

file1.bat看起来像:

@echo off & setLocal
SETLOCAL EnableDelayedExpansion
set secondVar=%secondVar%

for /f "tokens=*" %%a in (myFile) do (set secondVar="%%a"
echo !secondVar!
call file2.bat "aFile" !secondVar!
)
4

1 回答 1

0

File1.bat中,更改

set secondVar="%%a"

set secondVar="%%~a"

波浪号字符的使用首先删除封闭的双引号......

您还可以使用:设置“secondVar=%%~a”

于 2013-04-08T14:03:21.043 回答