我希望能够在命令控制台中手动键入“ alias”关键字,并使其执行以下命令指定的次数。
taskkill /PID "%PID%" /f >nul 2>&1
我发现此命令将运行一个循环:
对于(l,1,5)中的/ l%x做
它对于诸如回显文本之类的简单命令正常工作,但是当我运行以下命令时(仅出于测试目的而没有> nul 2>&1 )
for /l %x in (1, 1, 5) do taskkill /PID "%PID%" /f
它会在一次(显示“成功”消息)后停止,而不是再重复执行同一命令4次。
如何使命令多次执行而又不会在每个实例之后停止?
一旦实现,如何从别名运行该命令?
我了解到将命令放入批处理文件时需要转义某些字符
set "close=taskkill /PID "%PID%" /f >nul 2>&1"
doskey close=taskkill /PID "%PID%" /f ^>nul 2^>^&1
,%x循环命令将需要使用双百分号字符,但是我仍然不知道在键入指定的'alias'关键字时使用哪种语法来运行循环命令。
答案 0 :(得分:1)
从命令行:
注意:>
位于行首以表示提示。
>doskey close=for /l %x in (1, 1, 5) do taskkill /pid ^%pid^% /f
>set "pid=10"
>close
用来设置一个doskey宏以使用%pid%
。
将pid
设置为一个值,即10
,然后执行宏。
>doskey close=for /l %x in (1, 1, 5) do taskkill /pid $1 /f
>close 10
是设置一个doskey宏以使用第一个参数作为pid。
使用参数10
执行宏。
从批处理文件设置Doskey:
doskey close=for /l %%x in (1, 1, 5) do taskkill /pid %%pid%% /f
或设置为传递pid的参数。
doskey close=for /l %%x in (1, 1, 5) do taskkill /pid $1 /f
像第1个2命令行示例一样执行宏。
宏中的命令将运行5次。 运行宏显示在命令行示例中。