我有问题。
set /p command=
if %command% == "display (i want the second part of the variable here)" echo (second part of the variable)
例如,我输入:
display hello
我想简单地说:
echo hello
我想在游戏中将它用于自定义命令。
答案 0 :(得分:2)
首先,您可以使用for /f
将第一个字| notfirstword上的文字与"tokens=1*"
循环分开。有关详细信息,请参阅控制台窗口中的help for
。
接下来,您可以尝试使用call :label
:label
,其中if /i
就是第一个单词。实质上,您正在创建batch functions并让用户选择执行哪个功能。如果函数标签不存在,则errorlevel将为非零,您可以使用conditional execution进行适当处理。这样可以轻松扩展脚本,而无需为添加的每个选项或同义词添加call
语句。 (通过重定向2>NUL
隐藏错误消息以尝试@echo off & setlocal
:entry
set /P "command=Command? "
for /f "tokens=1*" %%I in ("%command%") do (
2>NUL call :%%I %%J || (
if errorlevel 1000 (exit /b 0) else call :unsupported %%I
)
goto :entry
)
:display
:echo
:say
:show
echo(%*
exit /b 0
:ping
ping %~1
exit /b 0
:exit
:quit
:bye
:die
echo OK, toodles.
exit /b 1000
:unsupported <command>
1>&2 echo %~1: unrecognized command
exit /b 0
不存在的标签可能是个好主意。)以下是一个完整的示例:
#!/usr/bin/ python
#import vincent
import tokens
#from collections import Counter
import json
import sys
import fileinput
lists=[]
for line in fileinput.input():
tweet = json.loads(line)
for term in tokens.preprocess(tweet['text']):
if term.startswith('#'):
print term