Chcę mieć plik wsadowy, który uruchamia plik wykonywalny, ale piszę niektóre polecenia automatycznie

1

Chcę mieć plik wsadowy, który uruchamia plik wykonywalny (Test.exe). po wywołaniu test.exe otworzy to środowisko wiersza poleceń. Na tym etapie chcę, aby niektóre zdefiniowane polecenia (polecenia) były automatycznie zapisywane w tym środowisku poleceń, a następnie naciśnij klawisz Enter, aby uruchomić moje polecenia (polecenia)

użytkownik44509
źródło

Odpowiedzi:

1

cmd /C stringWykonuje polecenie określone przez ciąg, a następnie kończy
cmd /K stringwiersz polecenia Wykonuje polecenie określone przez ciąg, ale opuszcza wiersz polecenia

Standardowym sposobem uruchamiania wielu poleceń jednocześnie jest oddzielenie każdego polecenia za pomocą &&; na przykład echo hello && pausenapisze „cześć” w wierszu polecenia, a następnie zaczeka na naciśnięcie klawisza. Możesz połączyć to z opisanym powyżej użyciem / C lub / K, aby uruchomić kilka poleceń. Aby użyć wiersza polecenia programu Visual Studio, możesz chcieć, aby pierwszym poleceniem była zmiana katalogu na dowolny katalog wiersza polecenia VS za pomocą cdpolecenia.

Inne opcje obejmują ustawienie ścieżki, włączenie lub wyłączenie echa itp. Uruchom cmd /?z wiersza polecenia, aby uzyskać szczegółowe informacje na temat argumentów wiersza polecenia cmd.exe.

Twój plik wsadowy prawdopodobnie wyglądałby mniej więcej tak:

start test.exe
start cmd.exe /C cd "%programfiles%\Microsoft Visual Studio x.x\VC" && title Visual Studio Command Prompt && command1 && command2 && command3
nhinkle
źródło
nie, właśnie próbowałem tego, dzięki tej pracy plik wsadowy po prostu wywołuje jednocześnie VC monit i MODELER, ale nie jest to coś, czego oczekuję; Chcę, aby wywoływał vcvarsall.bat, a następnie, gdy zostanie wywołany, polecenie „MODELER” zostało wprowadzone automatycznie
user44509,
Przepraszam, nie do końca rozumiem to, co tam powiedziałeś. Czy możesz to wyjaśnić? Czy chcesz przesłać „MODELER” do vcvarsall.bat? Aby to zrobić, należy zrobić echo MODELER | vcvarsall.bat, który wyśle ​​tekst „MODELER” do pierwszego wejścia podanego przez vcvarsall.bat.
nhinkle
0

Ze względu na ciekawość, dlaczego chcesz, aby polecenia pojawiały się i działały?

Niemniej jednak plik test.exe powinien zostać utworzony przy użyciu języka programowania obsługującego otwieranie aplikacji i wysyłanie do niego naciśnięć klawiszy. Czy znasz jakiś język programowania? To znaczy, jeśli chcesz, aby plik test.exe otworzył wiersz polecenia i wykonał zadanie.

Jest to sposób .NET

Łatwiejszym sposobem jest wywołanie innego pliku wsadowego lub można użyć tego samego pliku wsadowego. Plik wsadowy miałby ECHO ON(domyślnie ECHO jest WŁĄCZONY), więc wszystkie polecenia napisane w pliku wsadowym byłyby pokazywane użytkownikowi, chyba że wykonasz ECHO WYŁ. Ale używając metody, nie rozumiem, dlaczego test.exe byłby wymagany, chyba że chcesz, aby test.exe zrobił coś innego niż otwarcie pliku wsadowego i wyświetlanie poleceń.

Ranhiru Jude Cooray
źródło
Myślę, że już to zrobił test.exei chce utworzyć plik wsadowy, który wprowadzi do niego polecenia.
Cześć71,
okej, usuńmy więcej. mój test.exe to polecenie programu Visual Studio 2008 - Monituję. W tym celu wywołuję różnych modelarzy. Aby zaoszczędzić czas, potrzebuję pliku wsadowego, który otwiera „Monit polecenia programu Visual Studio 2008”, a następnie automatycznie uruchamia tych
modelerów
0

Więc test.exejest coś w rodzaju okna wiersza polecenia (ale specjalistyczne), a chcesz mieć skrypt, który wykonuje polecenia w aplikacji testowej. Coś takiego powinno działać:

Najpierw utwórz plik o nazwie powiedzmy myscript.cmd. Następnie otwórz Notatnik i wpisz:

test.exe < myscript.cmd
Cześć71
źródło
tak, dodałem kilka wyjaśnień poniżej.
user44509,
Zrobiłem jak wyżej; pierwsza część została wykonana (pojawiło się okno zachęty), ale druga sekcja myscript.cmd, która zawiera polecenie wywołania Modelera, nie została wprowadzona automatycznie ani uruchomiona.
user44509,
0

Czy próbowałeś programu PowerShell? Microsoft wydaje się widzieć światło wokół za pomocą wiersza polecenia, a PowerShell wydaje się być ich kierunkiem na najbliższą przyszłość.

Kelly S. French
źródło