How would you implement logical operators in DOS Batch files?
                +4 
                A: 
                
                
              Although the DOS If statement doesn't support logical operators (such as "AND" and "OR") you can "cascade" your Ifs to create an implicit conjunction.
http://www.rs-freeware.org/adb/adbdos.htm
If Exist File1.Dat If Exist File2.Dat Goto FILE12_EXIST_LABEL
The idea is that file 1 and 2 both exist then jump to the named label (FILE12_EXIST_LABEL).
See also: IF /?
                  Dave Jarvis
                   2010-01-26 22:34:45
                
              Yes.  Here is the documentation on what IF does support: http://technet.microsoft.com/en-us/library/bb490920.aspx
                  jeffamaphone
                   2010-01-26 22:37:03
                
                +4 
                A: 
                
                
              You can do and with nested conditions:
if %age% geq 2 (
    if %age% leq 12 (
        set class=child
    )
)
or:
if %age% geq 2 if %age% leq 12 set class=child
You can do or with a separate variable:
set res=false
if %hour% leq 6 set res=true
if %hour% geq 22 set res=true
if "%res%"=="true" (
    set state=asleep
)
                  paxdiablo
                   2010-01-26 23:07:27
                
              You can also just use `set res=` or `set res=1` and then `if defined res` which is a little more robust against typos and works even in blocks without explicitly enabling delayed expansion.
                  Joey
                   2010-01-26 23:34:27
                Just to improve your answer a bit... you don't need to explicitly nest the "if" statements... you can just "chain" them, as Dave Jarvis demonstrates below
                  JoelFan
                   2010-01-28 14:44:20
                
                
                A: 
                
                
              An alternative is to look for a unix shell which does give you logical operators and a whole lot more. You can get a native win32 implementation of a Bourne shell here if you don't want to go the cygwin route. A native bash can be found here. I'm quite certain you could easily google other good alternatives such as zsh or tcsh.
K
                  Kev
                   2010-01-26 23:16:08
                
              If you're going to go through the effort of using a different shell, at least go with PowerShell: http://microsoft.com/powershell
                  Eclipse
                   2010-03-15 18:18:48