Я не уверен, почему это происходит, но похоже, что команда else в этом пакетном скрипте, над которым я работаю, работает одновременно, а не по одной строке за раз. Какие-либо предложения?Else command в пакетном запуске все сразу?
set getprocesslistlocal=wmic process get name,processid,workingsetsize
echo Type the name of the remote machine to view processes of (or type local for local machine), and press Enter.
set /P remotemachine=
if %remotemachine%==local (
%getprocesslistlocal%
) else (
echo Type the user name to access %remotemachine% with, then press Enter.
set /P remoteuser=
echo Type the password for %remoteuser% on %remotemachine%, then press Enter. ^(Will be displayed in plaintext^)
set /P remotepassword=
wmic /node:%remotemachine% /user:%remoteuser% /password:%remotepass% process get name,processid
)
echo End of list.
pause
echo Type the process id to terminate and hit Enter.
set /P killid=
if %remotemachine%==local (
wmic process where processid="%killid%" call terminate
) else (
wmic /node %remotemachine% /user:%remoteuser% /password:%remotepass% process where processid="%killid%" call terminate
)
echo Process id %killid% terminated.
pause
Предполагаю, что вы имели в виду первое в командном файле? Что именно вы имеете в виду, команда else работает сразу? Вы имеете в виду, что он никогда не перестает позволять вам вводить что-либо для двух команд 'set/P'? Вы должны более четко описать, что происходит (и то, что вы ожидаете). –
Я получаю «Недопустимый идентификатор пользователя», который, как я полагаю, является из других вводимых команд. Когда я вхожу в 'remoteuser', он не отображается в следующей строке. Этот пользователь действительно существует, и команда отлично работает с этим пользователем и паролем, когда он выходит из партии. – EpicCyndaquil