Jak odczytać dane wejściowe z konsoli w pliku wsadowym? To, co próbuję osiągnąć, to funkcjonalność scanf w C. Jak mogę zrobić to samo w pliku wsadowym?
set /p
czyta wszystko, co użytkownik wpisze, czy to jedna litera, czy wiele.
Jak odczytać dane wejściowe z konsoli w pliku wsadowym? To, co próbuję osiągnąć, to funkcjonalność scanf w C. Jak mogę zrobić to samo w pliku wsadowym?
set /p
czyta wszystko, co użytkownik wpisze, czy to jedna litera, czy wiele.
Odpowiedzi:
Fragment kodu w połączonym proponowanym duplikacie odczytuje dane wejściowe użytkownika.
ECHO A current build of Test Harness exists.
set /p delBuild=Delete preexisting build [y/n]?:
Użytkownik może wpisać tyle liter, ile chce, i trafi to do zmiennej delBuild.
%delBuild%
echo !delBuild!
da ci to bardziej niezawodny wynik po setlocal EnableDelayedExpansion
uruchomieniu, gdy jest włączony
Jeśli chcesz po prostu szybko otworzyć instancję cmd, zamiast natychmiast ją wychodzić, wystarczy wykonać następujące czynności
set /p asd="Hit enter to continue"
na końcu skryptu i pozostawi okno otwarte.
Zauważ, że zostanie to ustawione asd
jako zmienna środowiskowa i można ją zastąpić czymkolwiek innym.
pause
polecenie. Także to set /p
nie set \p
.
cmd
, ale nie Powershell. Upewnij się, że używasz właściwej rzeczy.
Oprócz istniejącej odpowiedzi można ustawić opcję domyślną w następujący sposób:
echo off
ECHO A current build of Test Harness exists.
set delBuild=n
set /p delBuild=Delete preexisting build [y/n] (default - %delBuild%)?:
Dzięki temu użytkownicy mogą po prostu nacisnąć „Enter”, jeśli chcą wprowadzić wartość domyślną.