Как создать пакетный файл, который принимает два целых числа в качестве параметров - PullRequest
5 голосов
/ 17 октября 2010

Я только начинаю изучать сценарии командной строки, и у меня есть задание для школы, в которой первая часть заключается в создании командного файла, который принимает два целых числа в качестве параметров. Целые числа будут впоследствии обрабатываться в течение всего вопроса, и я не ищу никакой помощи в этом. Я погуглил это по-разному и не могу найти ответ. Как мне начать это?

Я знаю, что это очень просто для всех, кто это читает, но я прошу вас немного расслабиться, мы все должны с чего-то начать.

Ответы [ 4 ]

9 голосов
/ 17 октября 2010

Предполагая MS-DOS, вы можете использовать %1, %2 и т. Д. Для входных параметров.

@ECHO OFF

SET /a INT1=%1
SET /a INT2=%2

SET /a ANSWER=INT1*INT2

ECHO %ANSWER%

PAUSE

Вы можете затем назвать это как:

mybatchfile.bat 2 4
3 голосов
/ 17 октября 2010

Предполагая, что это Windows, вы можете ссылаться на параметры в вашем скрипте как %1 и %2.

3 голосов
/ 17 октября 2010

В Windows это %1 %2

http://commandwindows.com/batch.htm

пример:

@echo off

echo %1 %2

set /a v = %1
set /a v2 = %1 + 1
set /a v3 = %1 * 2

echo %v% %v2% %v3%
0 голосов
/ 17 октября 2010

Если в требовании вашего назначения не указано, что вы обязательно должны использовать пакет (cmd.exe), вы можете использовать vbscript.Он имеет чуть лучшую обработку ошибок и может выполнять математические операции с плавающей запятой и т. Д., Лучше, чем может предложить cmd.exe.

On Error Resume Next
num1= CInt(WScript.Arguments(0))
num2= CInt(WScript.Arguments(1))
total=num1 + num2
If Err.Number <> 0 Then
    WScript.Echo "Description: " &  Err.Description
    Err.Clear
Else
    WScript.Echo "Added: " & total
End If

пример

C:\test>cscript //nologo assigment.vbs 1 2
Added: 3

C:\test>cscript //nologo assignment.vbs 1 test
Description: Type mismatch
...