2015-04-15 27 views
18

Come posso scoprire (con Batch), se una variabile inizia con "abc" (ad esempio)?Controllare se la variabile Batch inizia con "..."

So che posso cercare le variabili se conosco l'intero contenuto (se "% variable%" == "abc") ma voglio che si occupi solo dell'inizio.

Mi serve per scoprire dove si trova il file Batch, quindi se c'è qualche altro comando per questo, fammi sapere.

+2

@mario bash non è in batch di Windows. – jeb

risposta

35

Utilizzare la variable substring syntax:

IF "%variable:~0,3%"=="ABC" [...] 

Se è necessario il percorso del file batch senza il nome del file batch, è possibile utilizzare la variabile:

%~dp0 

sintassi per questo è spiegato nella help for the for command, sebbene questa sintassi delle variabili si estenda oltre la semplice sintassi del comando for.

+0

E lo 0,3% significa che cerca le prime 3 lettere? – Eric

+0

No, ottiene i primi tre caratteri dalla variabile. Quindi i primi caratteri vengono confrontati con "abc" – jeb

+0

@ EricRösch È una sottostringa. Significa "A partire dal personaggio 0 (il primo) dammi 3 caratteri". –

2

da trovare file batch utilizzare %0 (dà piena patch per file batch corrente) o %CD% variabile che dà directory locale

Problemi correlati