set /p= 命令使用详解

(编辑:jimmy 日期: 2024/12/24 浏览:2)

set 命令详解

在批处理中回显信息有两个命令,echo和set /p=<nul,它们的共同点在于都是对程序执行信
息的屏幕输出,区别在于echo是换行输出,而set /p=<nul是不换行追回输出,这样说大家可能
不是很理解,下面给出两个代码来进行比较:

代码:

@echo off
echo bathome
echo batman
pause>nul

代码:

@echo off
set /p=bathome<nul
set /p=batman<nul
pause>nul

运行这两段代码,大家看到第一段的结果是分两行依次在屏幕上输出了bathome
和batman,而第二段的结果是在一行中依次输出了bathome和batman,大家再仔细点还可看到光
标所处的位置也不一样。好了,就讲到这里吧。

一、set的主要作用是赋值
1、set /p a=promptstring
先显示promptstring,再接受用户输入的内容,以回车表示结束,赋值给变量a

2、set /p a=promptstring<1.txt
先显示promptstring,再把"<"管道号右边的1.txt文件中从第一个字符开始直到碰到回车符的内容赋值给变量a (通常表现为第一行)。

3、set /p a=promptstring<nul
先显示promptstring,再把"<"管道号右边nul中内容赋值给变量a ,不用用户按回车就结束语句。因nul是空设备,故没有内容可赋值,变量a仍属未定义。

二、因为在接受用户输入前可先显示promptstring,故此set还可当作显示命令用(仅作为显示命令使用时,可省略变量a)
1、set /p =promptstring
显示promptstring,再接受用户输入的内容,以回车表示结束。如用户直接按回车则仅显示promptstring。(赋值给空变量,赋值意义已丧失,仅作显示之用,需用户按回车键结束语句,无多大实际用途)

2、set /p =promptstring<1.txt
先显示promptstring,再把"<"管道号右边的1.txt文件中从第一个字符开始直到碰到回车符的内容赋值给空变量(无实际用途)

3、set /p =promptstring<nul
先显示promptstring,再把"<"管道号右边nul中内容赋值给空变量,不用用户按回车就结束语句,实际中常用这个句式作为显示语句。因显示promptstring后光标不换行,故实际中这个句式用到很多。如2楼所述,还有光标退格等。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?