Могу ли я узнать, в чем разница между 2 кодами findstr ниже?
Первый случай:
findstr /m 0632 log_network.txt
if %errorlevel%==0 (
echo FOUND
) else (
echo NOT FOUND
)
Второй случай:
set entire_line="0632"
echo %entire_line% | findstr /m log_network.txt
if %errorlevel%==0 (
echo FOUND
) else (
echo NOT FOUND
)
Первый случай возвращает "FOUND", а второй возвращает "NOT FOUND"... Кроме того, я всегда вижу, как людям нравится использовать:
echo %something% | findstr /m filename.txt > null
Но я не понимаю, почему они так пишут...
log_network.txt Содержимое:
Set_Param_10A "TRUE" "xnetwork.exist.5846"
Set_Param_10A "TRUE" "xnetwork.exist.7425"
Set_Param_10A "TRUE" "xnetwork.exist.1420"
Set_Param_10A "TRUE" "xnetwork.exist.0632"
Set_Param_10A "TRUE" "xnetwork.exist.1112"
Set_Param_10A "TRUE" "xnetwork.exist.8524"
Set_Param_10A "TRUE" "xnetwork.exist.3675"
Set_Param_10A "TRUE" "xnetwork.exist.3344"
Set_Param_10A "TRUE" "xnetwork.exist.1276"
Set_Param_10A "TRUE" "xnetwork.exist.4796"
Set_Param_10A "TRUE" "xnetwork.exist.3349"
Set_Param_10A "TRUE" "xnetwork.exist.0048"
Спасибо...
echo %something% | findstr "search"
. Обычно это делается с каждой строкой файла, что подразумевает выполнение findstr.exe (файл размером 30 КБ) несколько раз (это s_l_o_w...). Этот тест обычно можно выполнить с помощью простогоif
, который намного быстрее! - person Aacini   schedule 10.06.2014