如何在bat文件中定义变量和调用

我想在BAT文件中实现用弹出式窗口输入数据,返回变量值并直接调用此变量,求高手指点,bat语句应该怎么写?
我试过hh=msg""无法输入
我只是想写个定时关机的bat文件,at hh shutdown -s 语句中hh为弹出试窗口输入的值!

批处理没法像VBS那样实现弹出代窗口接受数据,只能用如下的方式:

::═════代═══码═══开═══始═════
@echo off
set/p t=请输入时间并回车:(格式为 XX:XX:XX)
at %t% shutdown -s -t 0
pause
::═════代═══码═══结═══束═════

变量定义和引用

1.MS-DOS shell 对变量、命令、命令行参数的大小写区分吗? 不区分 

2.如何定义一个(环境)变量 ?

SET <variable>=[<value>] 

如果 <value> 是空字符串,则取消变量的定义,变量的值用双引号或空格结束。引号如果没有结束,则默认范围到行尾。

3.如何定义一个局部(环境)变量?

复制代码 代码如下:

SETLOCAL 

SET <variable>=[<value>] 

ENDLOCAL 

变量 <variable> 的值会在 ENDLOCAL 后恢复到 SETLOCAL 以前的值

4.如何使用 MS-DOS 脚本的调用参数?

ECHO %<n> 

N 的范围为 0-9 , %0 为文件名, %1-%9 为参数,每次调用脚本最多支持 9 个参数 

ECHO %* 

%* 代表所有传入的参数,即 %1-%9 ,并且包括其中的空白符 

另外,调用参数是 %0-%1 是只读的,不可以重新赋值,否则程序挂起。

5. MS-DOS 如何分割脚本参数?

首先 MS-DOS 的解释器 CMD 会将命令提示符后的命令行中的有定义的环境变量全部展开(无定义的不变)。 

然后,处理由 ^ 定义的转义字符。 

最后,用双引号( " " )、逗号( , )、分号(;)和空白符分割,并将第一个分割后的部分用作命令名,其他的作为参数,所有的参数中都包含各自的双引号,然而命令名中的双引号在调用命令时没有影响。逗号和分号以及空白符则不包含在分割的各部分中。 

注:变量在脚本中只展开一次,不会循环展开。 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-22
批处理没法像VBS那样实现弹出代窗口接受数据,只能用如下的方式:

::═════代═══码═══开═══始═════
@echo off
set/p t=请输入时间并回车:(格式为 XX:XX:XX)
at %t% shutdown -s -t 0
pause
::═════代═══码═══结═══束═════
变量定义和引用
1.MS-DOS shell 对变量、命令、命令行参数的大小写区分吗? 不区分
2.如何定义一个(环境)变量 ?
SET <variable>=[<value>]
如果 <value> 是空字符串,则取消变量的定义,变量的值用双引号或空格结束。引号如果没有结束,则默认范围到行尾。
3.如何定义一个局部(环境)变量?
复制代码 代码如下:
SETLOCAL
SET <variable>=[<value>]
ENDLOCAL
变量 <variable> 的值会在 ENDLOCAL 后恢复到 SETLOCAL 以前的值
4.如何使用 MS-DOS 脚本的调用参数?
ECHO %<n>
N 的范围为 0-9 , %0 为文件名, %1-%9 为参数,每次调用脚本最多支持 9 个参数
ECHO %*
%* 代表所有传入的参数,即 %1-%9 ,并且包括其中的空白符
另外,调用参数是 %0-%1 是只读的,不可以重新赋值,否则程序挂起。
5. MS-DOS 如何分割脚本参数?
首先 MS-DOS 的解释器 CMD 会将命令提示符后的命令行中的有定义的环境变量全部展开(无定义的不变)。
然后,处理由 ^ 定义的转义字符。
最后,用双引号( " " )、逗号( , )、分号(;)和空白符分割,并将第一个分割后的部分用作命令名,其他的作为参数,所有的参数中都包含各自的双引号,然而命令名中的双引号在调用命令时没有影响。逗号和分号以及空白符则不包含在分割的各部分中。
注:变量在脚本中只展开一次,不会循环展开。

批处理没法像VBS那样实现弹出代窗口接受数据,只能用如下的方式:

::═════代═══码═══开═══始═════
@echo off
set/p t=请输入时间并回车:(格式为 XX:XX:XX)
at %t% shutdown -s -t 0
pause
::═════代═══码═══结═══束═════
变量定义和引用
1.MS-DOS shell 对变量、命令、命令行参数的大小写区分吗? 不区分
2.如何定义一个(环境)变量 ?
SET <variable>=[<value>]
如果 <value> 是空字符串,则取消变量的定义,变量的值用双引号或空格结束。引号如果没有结束,则默认范围到行尾。
3.如何定义一个局部(环境)变量?
复制代码 代码如下:
SETLOCAL
SET <variable>=[<value>]
ENDLOCAL
变量 <variable> 的值会在 ENDLOCAL 后恢复到 SETLOCAL 以前的值
4.如何使用 MS-DOS 脚本的调用参数?
ECHO %<n>
N 的范围为 0-9 , %0 为文件名, %1-%9 为参数,每次调用脚本最多支持 9 个参数
ECHO %*
%* 代表所有传入的参数,即 %1-%9 ,并且包括其中的空白符
另外,调用参数是 %0-%1 是只读的,不可以重新赋值,否则程序挂起。
5. MS-DOS 如何分割脚本参数?
首先 MS-DOS 的解释器 CMD 会将命令提示符后的命令行中的有定义的环境变量全部展开(无定义的不变)。
然后,处理由 ^ 定义的转义字符。
最后,用双引号( " " )、逗号( , )、分号(;)和空白符分割,并将第一个分割后的部分用作命令名,其他的作为参数,所有的参数中都包含各自的双引号,然而命令名中的双引号在调用命令时没有影响。逗号和分号以及空白符则不包含在分割的各部分中。
注:变量在脚本中只展开一次,不会循环展开。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网