Batch file 如何在循环中将FINDSTR值设置为变量
所以我在设置一个变量时遇到了一个问题,这个变量中有FINDSTR值。我必须设置变量,以便将值输出到所需的文本文件中 我已经尝试将变量设置为循环得到的每个findstr值,但是输出也不符合我的期望Batch file 如何在循环中将FINDSTR值设置为变量,batch-file,Batch File,所以我在设置一个变量时遇到了一个问题,这个变量中有FINDSTR值。我必须设置变量,以便将值输出到所需的文本文件中 我已经尝试将变量设置为循环得到的每个findstr值,但是输出也不符合我的期望 set /p tanggal="Masukan Bulan/Tahun: " echo. set /p namaService="Masukan services path: " setlocal enabledelayedexpansion echo Services,tanggal,hit &
set /p tanggal="Masukan Bulan/Tahun: "
echo.
set /p namaService="Masukan services path: "
setlocal enabledelayedexpansion
echo Services,tanggal,hit >> Summary_%tanggal:/=-%_%namaService:/=-%.txt
FOR /L %%A IN (1,1,31) DO (
if %%A LEQ 9 (
set "jumlahHit = FINDSTR /R /N "0%%A/%tanggal%.*%namaService%" access* | FIND /C ":""
echo !jumlahHit! >> Summary_%tanggal:/=-%_%namaService:/=-%.txt
) else (
set "jumlahHit = FINDSTR /R /N "%%A/%tanggal%.*%namaService%" access* | FIND /C ":""
echo !jumlahHit! >> Summary_%tanggal:/=-%_%namaService:/=-%.txt
)
)
echo Total : >> Summary_%tanggal:/=-%_%namaService:/=-%.txt
FINDSTR /R /N "%tanggal%.*%namaService%" access* | FIND /C ":" >> Summary_%tanggal:/=-%_%namaService:/=-%.txt
我希望输出是findstr result的某个值,但文件中的输出表示echo已关闭
Services,tanggal,hit
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
ECHO is off.
Total :
152720
这是设置findstr循环结果的其他方法吗?您有两个问题:
变量名
变量名称与您键入的名称完全相同:
set variable = string
这将变量{space}
设置为值{space}字符串
。因此,要打印该变量,您需要
echo %variable %
这就是为什么您的行中充满了ECHO关闭的原因。
不能通过内联命令设置变量值 我的意思的一个例子:
set variable=dir
echo %variable%
:: output is "dir"
有关如何将变量值设置为命令输出的信息,请参见