2014-11-20 123 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