• 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

Object Storage Arubacloud
+1 głos
111 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 (252,660 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 (252,660 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ź 499 wizyt
pytanie zadane 8 maja 2018 w Systemy operacyjne, programy przez Jakub 0 Pasjonat (23,120 p.)
–2 głosów
2 odpowiedzi 2,371 wizyt
0 głosów
1 odpowiedź 4,859 wizyt
pytanie zadane 30 października 2016 w Systemy operacyjne, programy przez Szymon00 Początkujący (310 p.)

92,538 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,923 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...