Jak mogę pobrać dane wejściowe od użytkownika w pliku .bat?


4

Jestem za pomocą polecenia dir /AD /B "\\computerName\users\" >> user_export.log

Czy jest możliwe utworzenie pliku wsadowego, który prosi użytkownika o wpisanie nazwy komputera, a następnie, gdy użytkownik końcowy wprowadzi nazwę komputera, aby wprowadzić go w nazwie UNC wymienionej powyżej, więcdir /AD /B "\\**INPUT VALUE ENTERED HERE**\users\"

Mam nadzieję, że to ma sens.


Odpowiedzi:


6

Najlepiej będzie odizolować dane wejściowe użytkownika od użycia danych wejściowych w nazwie UNC. Więc mógłbym pomóc w wprowadzaniu danych przez użytkownika:

Wystarczy użyć polecenia set, aby uzyskać odpowiedź użytkownika:

set /P response=INPUT VALUE PLEASE
dir /A/D /B "\\%response%\users\"

Możesz pisać bardziej wyrafinowane podpowiedzi, takie jak

set /P response="INPUT VALUE HERE > "

ale podwójne tiki nie są konieczne dla polecenia set. Są zobowiązani do zignorowania znaku specjalnego >. Ponadto poprawiona zostanie widoczność znaków spacji w monicie.


Ze względu na użycie znaku zachęty „>”, cudzysłowy konieczne, aby uniknąć błędu składniowego (prawdopodobnie dlatego, że wygląda to na przekierowanie wyjścia do programu powłoki).
martineau
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.