交互批处理文件

时间:2009-03-04 12:34:31

标签: batch-file dos

如何继续使用交互式批处理文件?

例如,

你想继续吗? [Y / N]

如果'y'转到Label1

Else Goto Label2

由于

5 个答案:

答案 0 :(得分:6)

您可以使用SET命令。以下是与上述伪代码等效的DOS命令:

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

答案 1 :(得分:3)

使用choice命令,您可以指定一组有效字符和消息:

choice /C YN /M "Do you want to continue?"
if errorlevel 2 goto labelno
if errorlevel 1 goto labelyes

答案 2 :(得分:0)

set / p choice =你想继续吗? [Y / N] 如果“%choice%”==“y”( 转到标签1 )否则转到label2

答案 3 :(得分:0)

我喜欢你们大多数人的答案,但我会做的最多(例如这段代码是我的组织方式。

: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.

答案 4 :(得分:0)

我知道有一种方法可以做到这一点(比如@ user3093687发布)

let now = Date()
if let stringDate = getDateFromString("2014-08-21T19:32:00Z") {
let calendar = Calendar.current
let comparison = calendar.dateComponents([.day, .hour, .minute], from: stringDate, to: now)

print("The Difference between the dates is: \(comparison.day!) days, \(comparison.hour!) hours, and \(comparison.minute!) minutes.")
}

批处理文件的第二行和第三行中的/ I使得它不区分大小写并且忽略特殊字符(示例Y和y都将被读为y。