batch-file - 我做错了什么?我知道这可能很简单
问题描述
我是批处理脚本的新手,需要弄清楚如何使用用户输入的值来创建变量。
@echo off
set /p userMonth = "Enter Month(mm): "
set /p userDay = "Enter Day (dd): "
set /p userYear = "Enter Year (yyyy): "
echo month: %userMonth%
echo day: %userDay%
echo year: %userYear%
set today= %userMonth%.%userDay%.%userYear%
set month= %userMonth%-%userYear%
当我运行脚本时,输出只是说
month:
day:
year:
在我输入之后(例如)
01
25
2018
解决方案
您的 set 命令格式错误。使用引号时,它会"
string=
data
"
. 请记住,您也不希望string
&之间有空格=
。使用集合 /? 查找更多信息。
set /p "userMonth=Enter Month(mm): "
set /p "userDay=Enter Day (dd): "
set /p "userYear=Enter Year (yyyy): "
echo month: %userMonth%
echo day: %userDay%
echo year: %userYear%
此外,对于字符串的减法或加法,您需要使用该set /a
命令。/A 开关指定等号右侧的字符串是计算的数值表达式。
set "today=%userMonth%.%userDay%.%userYear%"
set /a "month=%userMonth%-%userYear%"
可以使用更多运算符:
+ Add set /a "_num=_num+5"
+= Add variable set /a "_num+=5"
- Subtract (or unary)set /a "_num=_num-5"
-= Subtract variable set /a "_num-=5"
* Multiply set /a "_num=_num*5"
*= Multiply variable set /a "_num*=5"
/ Divide set /a "_num=_num/5"
/= Divide variable set /a "_num/=5"
推荐阅读
- ffmpeg - 如何裁剪然后缩放视频ffmpeg
- python - 两个列表的乘积之和
- docker - docker postgres 无法在非标准端口上向前连接
- php - Laravel CSS 和 Bootstrap 不起作用
- html - 我在 django 中收到错误 ') expected' 的报告
- r - 在 r 中按日期对数据帧顺序应用方程
- android - 使用 reftofit 获取数据时出现空值和错误
- mongodb - 即使我使用索引,MongoDB 查询执行速度也很慢
- python - 在 numpy 数组上使用复杂数学计算累积和的 Pythonic 方法
- snowflake-cloud-data-platform - Snowflake 虚拟仓库使用注意事项