Что означает "&&" в этом пакетном файле?
Я получил строку кода от кого-то, кто ответил на один из моих вопросов, но я смущен: что делать с && в этом пакетном файле.
@echo off
set /p Quest="How are you today? "
echo %Quest% > Results.txt
findstr /r /i "not.*good not.*well" Results.txt >nul && echo Sorry && goto pause
findstr /i "good well" Results.txt >nul && echo My day is doing good as well
:pause
pause
Ответы
Ответ 1
&&
запускает вторую команду в строке, когда первая команда возвращается успешно или с уровнем ошибок 0. Противоположность &&
равна ||
, которая запускает вторую команду, когда первая команда не увенчалась успехом, или с уровнем ошибки 1.
Ответ 2
& seperates commands on a line.
&& executes this command only if previous command errorlevel is 0.
|| (not used above) executes this command only if previous command errorlevel is NOT 0
> output to a file
>> append output to a file
< input from a file
| output of one command into the input of another command
^ escapes any of the above, including itself, if needed to be passed to a program
" parameters with spaces must be enclosed in quotes
+ used with copy to concatinate files. E.G. copy file1+file2 newfile
, used with copy to indicate missing parameters. This updates the files modified date. E.G. copy /b file1,,
%variablename% a inbuilt or user set environmental variable
!variablename! a user set environmental variable expanded at execution time, turned with SelLocal EnableDelayedExpansion command
%<number> (%1) the nth command line parameter passed to a batch file. %0 is the batchfile name.
%* (%*) the entire command line.
%<a letter> or %%<a letter> (%A or %%A) the variable in a for loop. Single % sign at command prompt and double % sign in a batch file.
.
--