2012-09-08 11 views
7

I tring excute proste skrypty plik wsadowy:Dlaczego otrzymuję „Echo jest” podczas próby wydrukowania zmiennej w partii

echo %1 
set var = %1 
echo %var% 

Kiedy używam go w XP, to daje mi oczekiwano wyjściowy, ale gdy uruchamiam go w systemie Vista lub Windows 7, próbuję wydrukować (echo) wartość "Echo jest włączone".

Poniżej znajduje się wyjście z programu:

G:\2012>abc.bat 1 

G:\2012>echo 1 
1 

G:\2012>set var = 1 

G:\2012>echo 
ECHO is on. 

G:\2012> 
+0

Czy nie powinno to być '% 1'? (procent idzie przed cyfrą) – knittl

+0

tak, poprawiłem go – user1656253

+0

zestaw var =% 1 wstrzymać wyjście: = C: \> ustawić var ​​= C: \ Users \ vpatel \ Desktop> pauza Naciśnij dowolny klawisz, aby kontynuować. . . Nie pyta o użytkownika w przypadku –

Odpowiedz

13

Pozbądź przestrzeni w swoim zbiorze wypowiedzi. Nie mogą i powinny być bez spacji po obu stronach znaku równości (=)

set var=%1 

BTW: Ja zwykle zaczynają wszystkie moje pliki wsadowe z @echo off, a zakończy je @echo na zbyt, więc mogę unikaj mieszania kodu z danymi wyjściowymi pliku wsadowego. Po prostu sprawia, że ​​twój plik wsadowy jest trochę ładniejszy i czystszy.

+0

tak, jest to miejsce, które powoduje ten problem. dzięki – user1656253

+0

Nie ma za co. –

Powiązane problemy