質問
インタラクティブなバッチファイルを処理する方法
たとえば、
続行しますか? [y / n]
「y」の場合、Label1に移動
Else Goto Label2
ありがとう
解決
SETコマンドを使用できます。以下は、上記の擬似コードに相当するDOSコマンドです。
set /p choice=Do you want to continue? [y/n]
if '%choice%'=='Y' goto label1
goto label2
他のヒント
choiceコマンドを使用して、有効な文字セットとメッセージを指定できます。
choice /C YN /M "Do you want to continue?"
if errorlevel 2 goto labelno
if errorlevel 1 goto labelyes
set / p choice =続行しますか? [y / n] "%choice%" ==" y" ( goto label1 )または、label2に移動
皆さんの回答の大部分は好きですが、私がしたいことはほとんどです(たとえば、このコードは私の組織のやり方です。
:Label1
@echo off
color (any color)
title (anything here)
set /p choice=Do you want to continue? [y/n]
IF %choice% == y goto Label2
IF %choice% == n exit
:Label2
cls
echo you chose Yes.
これを行う1つの方法を知っています(@ user3093687の投稿など)
set /p choice=Do you want to continue? (y,n)
if /I %choice%==y goto Label2
if /I %choice%==n goto exit
:Label2
Cls
echo You chose yes
:exit
exit
バッチファイルの2行目と3行目の/ Iは、大文字と小文字を区別せず、特殊文字が無視されるようにします(例Yとyは両方ともyとして読み取られます。
所属していません StackOverflow