• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd @echo off w MS-DOSIE 6.22 na Oracle VM VirtualBox

Aruba Cloud - Virtual Private Server VPS
+1 głos
154 wizyt
pytanie zadane 5 sierpnia 2021 w Inne języki przez Krzysztof044 Nowicjusz (130 p.)

Witam mam na wirtualnej maszynie zainstalowanego MS-DOS`a wersji 6.22.

Problem dotyczy języka wsadowego (BATCH)

 

Mam taki kod programu:

@echo off

set /p input=<zmienne.txt
echo %input%

pause

Program działa tak, że do zmiennej input przypisuje zawartość pliku o nazwie "zmienne.txt".

Następnie polecenie "echo" wypisuje zmienną input.

 

Problem w tym, że jak uruchamiam program to pisze:

ECHO is off

Press any key to continue...

 

I na tym program się kończy.

 

Czy potrafi mi ktoś pomóc z tym problemem, bo kod jest napisany poprawnie (chyba).

 

1 odpowiedź

0 głosów
odpowiedź 6 sierpnia 2021 przez VBService Ekspert (256,600 p.)
edycja 6 sierpnia 2021 przez VBService

Twój kod jest poprawny (cmd pod windows10 - działa poprawnie, patrz ostatni obrazek), ale sprawdź czy Twój "dos" na wirtualnej maszynie obsługuje "przełącznik" /p w poleceniu set

How can I load the contents of a text file into a batch file variable?


If your set command supports the /p switch, then you can pipe input that way.

lub sprawdź (nie mam dostępu do wersji 6.22) prawdopodobnie nazwa "zmiennej" koliduje z nazwami poleceń "wbudowanych", może użyj innej nazwy np.

@echo off
 
set /p variables_from_file=<zmienne.txt
echo %variables_from_file%
 
pause

 

Getting Console or Disk Data into Environment Variables
under MS-DOS and Windows

 

 

komentarz 6 sierpnia 2021 przez Krzysztof044 Nowicjusz (130 p.)

Sprawdziłem to co mi napisałeś i nie ma takiego czegoś jak /p.

 

zmiana zmiennej z input na inną również nie pomogła.

 

podsyłam screeny: (set oraz jakieś switches których nie ogarniam)

komentarz 7 sierpnia 2021 przez VBService Ekspert (256,600 p.)

Spróbuj

@echo off
SETLOCAL EnableDelayedExpansion  

FOR /f "delims=" %%x IN (zmienne.txt) DO SET variables_from_file=%%x

ECHO %variables_from_file%

ECHO.
ECHO Wcisnij dowolny klawisz ... & PAUSE > NUL

ENDLOCAL

 

How to read file contents into a variable in a batch file?

Podobne pytania

0 głosów
1 odpowiedź 683 wizyt
pytanie zadane 8 maja 2018 w Systemy operacyjne, programy przez Jakub 0 Pasjonat (23,120 p.)
–2 głosów
2 odpowiedzi 2,728 wizyt
0 głosów
1 odpowiedź 4,997 wizyt
pytanie zadane 30 października 2016 w Systemy operacyjne, programy przez Szymon00 Początkujący (310 p.)

93,327 zapytań

142,323 odpowiedzi

322,396 komentarzy

62,656 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...