6

Jestem tylko nowicjuszem w programowaniu plików wsadowych i próbowałem znaleźć rozwiązanie online, ale się nie udało. Mój plik wsadowy wywołuje program c przekazujący jego własne argumenty wiersza poleceń do programu, a następnie wykonuje kolejne kroki, które zależą od wartości czwartego argumentu (który jest liczbą całkowitą). Chciałbym zrobić dodatkowy krok w moim pliku wsadowym, jeśli% 4 jest równy 3. Umieściłem kilka instrukcji testowych echa. Ale tylko "testno" zostanie wydrukowane, nawet jeśli wprowadzę 3 jako mój czwarty argument. Nazwa plikuWindowsowe pliki wsadowe: jak porównać argument wiersza poleceń z liczbą całkowitą


serii: p2debug1234.bat


Batch kodu pliku:


@echo off 
@setlocal 
p2task1 %1 %2 %3 %4 
start mi_viewer %1 
start mi_viewer %2 
echo %4 
echo 3 
If ("%4"== "3") (echo testyes) Else (echo testno) 
echo testif 

poleceń szybka migawka:


H:\ELEC4622\labs\data>p2debug1234 pens_rgb.bmp test.bmp 2 3 

3 
3 
testno 
testif 

Proszę mi pomóc dokonać właściwego porównania.

Pozdrawiam, Julia

+1

naprawdę jesteś za pomocą MS-DOS? A może używasz Windows? Jeśli tak, to nie ma to nic wspólnego z ms-dos (co jest nazwą systemu operacyjnego, a nie wiersza poleceń). – joojaa

+0

Używam windows, masz rację. Przepraszam. – user2851154

+0

Zawsze myślałem, że Windows to tylko oprogramowanie rozszerzające MS-DOS. Jestem prawie pewien, że to było to, co było na początku (z pamięci). Ale wydaje mi się, że tak nie jest w przypadku późniejszych wersji systemu Windows. – user2851154

Odpowiedz

10

Zmiana linii:

If ("%4"== "3") (echo testyes) Else (echo testno) 

do:

If "%4"=="3" (echo testyes) Else (echo testno) 
+0

Dziękuję bardzo - działa idealnie. – user2851154

+2

Powinieneś głosować w górę i lub akceptować odpowiedzi. To jest sposób, aby podziękować w przepełnieniu stosu. Żadna z tych rzeczy nie przerwie idei przepełnienia stosu. – joojaa

+0

Nie jestem pewien, jak to zrobić. Nigdy nie pisałem do tego miejsca przed – user2851154