CMD命令行接收用户输入信息

 CMD命令行接收用户输入信息
可以把下面的代码块Copy到一个以bat为后缀的文件中,双击就可以看到效果
**********************************************

@echo off
rem 关闭自动输出
:begin

rem 接收输入

set input=
set /p input=请输入字符串:

rem 输出得到的输入信息

echo 您输入的字符串是:%input%
rem pause>null

echo.

rem 从begin标签出,再次运行

goto begin

**********************************************

下面我们开始简介这个很简短的例子.

@echo off:这个是用来关闭命令行的自动输出,用来防止类型“C:/Documents

and Settings/XXX”类型的很多行文本的出现。

rem:注释

: 冒号是用来表示后面的输入是一个标签,一般会配合下面的关键字使用

goto:跳转到指定的标签。如:goto begin

echo:输出信息,等同于java的System.out.println("")。

另外,pause:这个是用于暂停的,为了阻止命令行自动关闭。而,

“pause>null”这种形式,可以让暂停不会出现“请按任意键继续。。。” 的

提示,但具有暂停的效果。

下面,重点讲讲“如何接收用户外部输入的信息?”

set intput=:这样子,我们就定义了一个没有任何初始值的环境变量了。
set /p input=请输入字符串:
上面这段代码,就是给之前定义的变量设置我们从键盘输入的字符串了。
set /p input=这里用于提示用户输入的信息:,注意最后一个冒号是半角
的,是英文的冒号。

%input%:这里我们是去得用户输入的字符串信息。

好了,到这里已经讲完了,如何读取用户的输入信息,和如何来从代码内容使用

用户输入信息。

*如有其它情况,请大家补充。谢谢。

好的,以下是一个简单的Shell程序实现,可以实现以上所有功能: ```python import os import subprocess # 支持的内部命令 internal_commands = { 'help': '显示帮助信息', 'exit': '退出本程序' } # 显示帮助信息 def show_help(): print('支持的命令:') for cmd, desc in internal_commands.items(): print(f'{cmd}: {desc}') print() # 执命令 def run_command(command): # 判断是否是内部命令 if command in internal_commands: if command == 'help': show_help() elif command == 'exit': exit(0) return # 分割命令 args = command.split() # 支持重定向 redirect_output = False if '>' in args: redirect_output = True redirect_index = args.index('>') output_file = args[redirect_index + 1] args = args[:redirect_index] # 支持管道 pipe = False if '|' in args: pipe = True pipe_index = args.index('|') cmd1 = args[:pipe_index] cmd2 = args[pipe_index + 1:] else: cmd1 = args # 执命令 if pipe: p1 = subprocess.Popen(cmd1, stdout=subprocess.PIPE) p2 = subprocess.Popen(cmd2, stdin=p1.stdout) p1.stdout.close() output = p2.communicate()[0] else: if redirect_output: with open(output_file, 'w') as f: subprocess.call(cmd1, stdout=f) output = None else: output = subprocess.check_output(cmd1) # 显示命令执结果 if output: print(output.decode()) else: print('Done.') # 主循环 def main(): while True: command = input('>>> ') if not command: continue run_command(command) if __name__ == '__main__': main() ``` 这个Shell程序可以实现通过命令界面接收用户输入,执用户输入的命令,判断命令是否有效,支持管道和重定向命令,命令执结果或出错信息在命令界面显示,提供内部命令用于显示使用帮助和退出本Shell程序。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值