我需要将一些参数从蝙蝠file1.bat
传递给另一个蝙蝠file2.bat
。问题是@echo %2
里面file2.bat
显示来自prompt命令的""
,因此secondVar
中定义的名为file1.bat
的变量没有按原样发送,而第一个参数总是发送成功。
我被困在这里因此我不能继续前进 调用file2.bat“aFile”!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!
)
答案 0 :(得分:0)
在 File1.bat 中,更改
set secondVar="%%a"
到
set secondVar="%%~a"
首先使用代字号字符删除封闭的双引号......
你也可以使用:set“secondVar = %% ~a”