0

ここに私が書いたコードがあります:

 @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

私がやろうとしているのは、ユーザーからタスク スケジュール名とタスクの時間という 2 つのパラメーターを受け入れることです。次に、プログラムは変数が空であるかどうかをチェックし、変数が空の場合はエラーを表示し、ユーザーに変数を再入力するように求めます (一方または両方が入力されていない場合)。ただし、ユーザーがスケジュール名と時刻を入力した場合でも、プログラムは次のように表示されます。

*スケジュールの名前が必要です *スケジュールの時間が必要です

また、コードの次の部分は、ユーザーが入力した値がスペースのみであるかどうかを確認するために使用されていることに注意してください。したがって、通常のプログラミングでの Trim() と同等です。

set chkScheduleTime=%scheduleTime =%
set  chkScheduleName=%scheduleName =%
4

1 に答える 1

0

使用する必要があります

set chkScheduleTime=%scheduleTime: =%

からスペースを取り除きますscheduleTime

errorMessageまた、一度エラーが発生すると消えないように、リセットすることはありません。

また、使用したいと思うかもしれませんif defined errorMessage

于 2012-09-09T21:04:03.640 に答える