2015-04-15 22 views
18

Jak mogę się dowiedzieć (z partiami), czy zmienna zaczyna się od "abc" (na przykład)?Sprawdź, czy zmienna wsadowa zaczyna się od "..."

Wiem, że mogę wyszukiwać zmienne, jeśli znam całą zawartość (jeśli "% zmienna%" == "abc"), ale chcę, żeby to wyglądało dopiero po rozpoczęciu.

Potrzebuję go, aby dowiedzieć się, gdzie znajduje się plik wsadowy, więc jeśli jest jeszcze jakieś inne polecenie, daj mi znać.

+2

@mario bash nie jest partia Windows. – jeb

Odpowiedz

35

Użyj variable substring syntax:

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

Jeśli potrzebujesz ścieżkę do pliku wsadowego bez nazwy pliku wsadowego, można użyć zmiennej:

%~dp0 

składnię tego jest wyjaśnione w help for the for command, chociaż ta składnia zmiennych wykracza poza samą składnię komendy for.

+0

A 0,3% oznacza, że ​​szuka pierwszych 3 liter? – Eric

+0

Nie, otrzymuje pierwsze trzy znaki ze zmiennej. Następnie pierwsze znaki są porównywane z "abc" – jeb

+0

@ EricRösch Jest to podciąg. Oznacza to "Zaczynając od znaku 0 (pierwszy) daj mi 3 znaki". –

2

znaleźć lokalizację pliku wsadowym użyć %0 (daje pełną ścieżkę do bieżącego pliku wsadowego) lub %CD% zmienną, która daje lokalnym katalogu