2014-11-20 50 views
0

我想展開我的批處理腳本。我希望讓用戶能夠在「您要註銷哪個會話ID(1-300)」提示下輸入多個號碼。因此,當命令運行並且用戶在提示符中放置1 2 3 5時,它將循環 psexec\\%Machine% logoff 1 並以2,3,5重複。任何想法?這至少有意義嗎?批處理腳本根據輸入改變參數多次運行命令

我當前的代碼是:

` 
:LogOff 
ECHO Which session ID would you like to log off (1-300) 
SET ID= 
set /P ID=# 
psexec \\%Machine% logoff %ID% 
::********************************************** 
ECHO Would you like to log another ID off? (Y/N) 
SET /P INPUT= 
IF /I '%INPUT%'=='y' GOTO LogOff 
IF /I '%INPUT%'=='' GOTO MachineMenu 
GOTO MachineMenu` 

回答

0

代替現有的psexec線,

for %%a in (%ID%) do psexec \\%Machine% logoff %%a 

將通過單步你輸入ID。根據需要用空格或逗號或分號或混合分隔列表。

+0

哇。這非常簡單。謝謝!那聲明到底是什麼?比如,%% a實際上是什麼意思? – 2014-11-21 23:37:53

+0

'cmd.exe'模擬MSDOS v5中命令行處理器可用的設備,並具有增強功能;事實上,現在使用的增強功能比原來的和仍然支持的功能更多。這是使用原始功能的一個例子 - 簡單的包含在'id'中的元素列表。 * metavariable *'a'依次分配給列表中的每個值,併爲每個分配的值執行'do'。與'%id%'訪問'id'的值'%% a'一樣,訪問元變量的值。在提示符下,'for /?| more'將提供更多信息。 – Magoo 2014-11-22 01:33:04

相關問題