【发布时间】:2012-09-09 20:22:33
【问题描述】:
这是我写的代码:
@echo off
:top
set chkScheduleTime=""
set chkScheduleName=""
set /p scheduleName=Enter the name of the schedule?
cls
set /p scheduleTime=Enter the time to schedule task?
cls
set chkScheduleTime=%scheduleTime =%
set chkScheduleName=%scheduleName =%
IF /I "%chkScheduleName%"=="" (
set errorMessage=*Name of schedule required
)
IF /I "%chkScheduleTime%"=="" (
set errorMessage=%errorMessage% *Time of schedule required
)
IF NOT defined "%errorMessage%" (
echo %errorMessage%
pause
cls
goto top
)
echo Schedule Name %scheduleName%
echo.
echo Time: %scheduleTime%
:end
我要做的是从用户那里接受两个参数,即任务计划名称和任务时间。然后程序将检查变量是否为空并为空的变量显示错误,然后提示用户重新输入变量(如果没有输入一个或两个)。但是,即使用户输入了日程名称和时间,程序也会显示以下内容:
*需要的时间表名称 *需要的时间表时间
另请注意,以下代码部分用于帮助检查用户输入的值是否仅为空格。因此它相当于常规编程中的 Trim():
set chkScheduleTime=%scheduleTime =%
set chkScheduleName=%scheduleName =%
【问题讨论】:
-
set chkScheduleTime=%scheduleTime =%应该做什么?它只是在我尝试时清除 chkScheduleTime。 -
它应该修剪变量,这样我就可以知道用户是否只输入了空格
-
这将删除所有空格(一旦您修复了语法 - 请参阅 Neil 的答案),而不仅仅是从头到尾修剪空格。例如——“Hello world”变成了“Helloworld”。对我来说这听起来不是一个好主意,但也许它可以满足您的需求。
标签: batch-file operating-system command cmd