set /p中的/p是什么意思?
What does /p mean in set /p?
/p
在set /p=
中代表什么?我知道 /
启用了一个开关,而且我很确定我知道 /a
用于 arithmetic
。我听过很多谣言,有人说 /p
代表 prompt
,也有人说它代表 print
。我有点怀疑它是 prompt
的唯一原因是因为在许多情况下它不要求提示,而是在屏幕上打印,例如
<nul set /p=This will not generate a new line
但我想知道的是:我们真的知道它代表什么吗?
为了将来参考,您可以使用 /?
开关获得任何命令的帮助,其中应该解释什么开关的作用。
根据 set /?
屏幕,set /p
的格式是 SET /P variable=[promptString]
,这表明 /p
中的 p 是“提示”。它只是在您的示例中打印,因为 <nul
传入一个 nul 字符,该字符会立即结束提示,因此它只是 acts 就像它正在打印一样。它仍然在技术上提示输入,只是立即接收它。
注意:这一点以下的答案是针对该问题的先前版本。
/L
in for /L
生成一个 L 数字列表。
来自ping /?
:
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name
Options:
-t Ping the specified host until stopped.
To see statistics and continue - type Control-Break;
To stop - type Control-C.
-a Resolve addresses to hostnames.
-n count Number of echo requests to send.
-l size Send buffer size.
-f Set Don't Fragment flag in packet (IPv4-only).
-i TTL Time To Live.
-v TOS Type Of Service (IPv4-only. This setting has been deprecated
and has no effect on the type of service field in the IP Header).
-r count Record route for count hops (IPv4-only).
-s count Timestamp for count hops (IPv4-only).
-j host-list Loose source route along host-list (IPv4-only).
-k host-list Strict source route along host-list (IPv4-only).
-w timeout Timeout in milliseconds to wait for each reply.
-R Use routing header to test reverse route also (IPv6-only).
-S srcaddr Source address to use.
-4 Force using IPv4.
-6 Force using IPv6.
/P
开关允许您将变量的值设置为用户输入的一行输入。在读取输入行之前显示指定的 promptString。 promptString 可以为空。
我使用它的两种方式...首先:
SET /P variable=
当批处理文件到达这一点时(留空时),它将停止并等待用户输入。然后输入变为变量。
第二个:
SET /P variable=<%temp%\filename.txt
将变量设置为 txt 文件的内容(第一行)。除非包含 /P
,否则此方法将不起作用。两者都在 Windows 8.1 Pro 上进行了测试,但在 7 和 10 上是一样的。
/p
在set /p=
中代表什么?我知道 /
启用了一个开关,而且我很确定我知道 /a
用于 arithmetic
。我听过很多谣言,有人说 /p
代表 prompt
,也有人说它代表 print
。我有点怀疑它是 prompt
的唯一原因是因为在许多情况下它不要求提示,而是在屏幕上打印,例如
<nul set /p=This will not generate a new line
但我想知道的是:我们真的知道它代表什么吗?
为了将来参考,您可以使用 /?
开关获得任何命令的帮助,其中应该解释什么开关的作用。
根据 set /?
屏幕,set /p
的格式是 SET /P variable=[promptString]
,这表明 /p
中的 p 是“提示”。它只是在您的示例中打印,因为 <nul
传入一个 nul 字符,该字符会立即结束提示,因此它只是 acts 就像它正在打印一样。它仍然在技术上提示输入,只是立即接收它。
注意:这一点以下的答案是针对该问题的先前版本。
/L
in for /L
生成一个 L 数字列表。
来自ping /?
:
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name
Options:
-t Ping the specified host until stopped.
To see statistics and continue - type Control-Break;
To stop - type Control-C.
-a Resolve addresses to hostnames.
-n count Number of echo requests to send.
-l size Send buffer size.
-f Set Don't Fragment flag in packet (IPv4-only).
-i TTL Time To Live.
-v TOS Type Of Service (IPv4-only. This setting has been deprecated
and has no effect on the type of service field in the IP Header).
-r count Record route for count hops (IPv4-only).
-s count Timestamp for count hops (IPv4-only).
-j host-list Loose source route along host-list (IPv4-only).
-k host-list Strict source route along host-list (IPv4-only).
-w timeout Timeout in milliseconds to wait for each reply.
-R Use routing header to test reverse route also (IPv6-only).
-S srcaddr Source address to use.
-4 Force using IPv4.
-6 Force using IPv6.
/P
开关允许您将变量的值设置为用户输入的一行输入。在读取输入行之前显示指定的 promptString。 promptString 可以为空。
我使用它的两种方式...首先:
SET /P variable=
当批处理文件到达这一点时(留空时),它将停止并等待用户输入。然后输入变为变量。
第二个:
SET /P variable=<%temp%\filename.txt
将变量设置为 txt 文件的内容(第一行)。除非包含 /P
,否则此方法将不起作用。两者都在 Windows 8.1 Pro 上进行了测试,但在 7 和 10 上是一样的。