1

我正在尝试编写一个脚本来检查我正在运行的工具的另一个批处理脚本设置。

在要检查的批处理文件中是以下行: set tooldir=D:\Folder

我希望能够拉出 'D:\Folder' 并检查其有效性,但我什至无法让我的变量存储正确的字符串。

截至目前,我有:

for /F "delims=" %%a in ('findstr /L tooldir= %batFileName%') do set batToolDir=%%a
echo %batToolDir%

哪个输出

C:\Users\me>for /F "delims=" %a in ('findstr /L tooldir toolBatch.bat') do set batToolDir=%a
C:\Users\me>set batToolDir=set tooldir=D:\Folder
C:\Users\me>set batToolDir=cd %tooldir%
C:\Users\me>echo cd %tooldir%
cd %tooldir%

它设置了我的输出变量两次,第一次是正确的,然后由于某种原因它确实设置了 batToolDir=cd %tooldir%

4

1 回答 1

2

我不确定您的测试数据是什么,但使用这样的引号,以防止空格和类似=intooldir=您的情况:

for /F "delims=" %%a in ('findstr /L "tooldir=" "%batFileName%" ') do set "batToolDir=%%a"
echo "%batToolDir%"
于 2013-07-31T15:12:25.967 回答