سؤال

كيفية المتابعة مع ملف دفعة تفاعلية؟

على سبيل المثال ،

هل تريد الاستمرار؟ [Y/N

إذا "y" goto label1

آخر goto label2

شكرًا

هل كانت مفيدة؟

المحلول

يمكنك استخدام الأمر set. ما يلي هو ما يعادل الأمر DOS للرمز الزائف لديك أعلاه:

set /p choice=Do you want to continue? [y/n]
if '%choice%'=='Y' goto label1
goto label2

نصائح أخرى

باستخدام أمر الاختيار ، يمكنك تحديد مجموعة من الأحرف الصالحة ورسالة:

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) آخر goto 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.

أعرف طريقة واحدة للقيام بذلك (مثل @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

يصنع /I في السطر الثاني والثالث من ملف الدُفعات بحيث لا يكون حساسًا للحالة ويتم تجاهل الأحرف الخاصة (على سبيل المثال ، سيتم قراءة Y و Y كـ y.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top