PDA

View Full Version : [Batch] Controllare una combinazione di condizioni.


23Andrea
17-07-2016, 18:33
In un file batch, devo testare la presenza o l'assenza di un file ("Prova" nell'esempio) in due percorsi locali diversi.
(il comando ECHO dovrà poi essere sostituito da un opportuno comando CALL).
In pratica lo script deve controllare tutte le possibili combinazioni (SI/NO, NO/SI, SI/SI, NO/NO) associando poi ad ognuna un comando diverso.
C'è un sistema più semplice (più conciso) per ottenere lo stesso risultato?
Grazie.

IF exist .\A\Prova (
IF NOT exist .\B\Prova (
ECHO Solo A
)
)
IF exist .\B\Prova (
IF NOT exist .\A\Prova (
ECHO Solo B
)
)
IF exist .\A\Prova (
IF exist .\B\Prova (
ECHO A e B
)
)
IF NOT exist .\A\Prova (
IF NOT exist .\B\Prova (
ECHO ne' A ne' B
)
)
PAUSE

x_Master_x
17-07-2016, 20:03
: x_Master_x
@ECHO OFF

SET File1=0
SET File2=0

If EXIST Test1.txt SET File1=1
If EXIST Test2.txt SET File2=1

IF %File1% == 1 IF %File2% == 0 ECHO ONLY 'A'
IF %File1% == 0 IF %File2% == 1 ECHO ONLY 'B'
IF %File1% == 1 IF %File2% == 1 ECHO BOTH 'A' AND 'B'
IF %File1% == 0 IF %File2% == 0 ECHO NEITHER 'A' AND 'B'
PAUSE