2010-10-16 11 views
5

Właśnie zaczynam uczyć się skryptów wiersza poleceń, i mam zadanie dla szkoły, w którym pierwsza część to utworzenie pliku wsadowego, który akceptuje dwie liczby całkowite jako parametry. Liczby całkowite zostaną następnie zmanipulowane w całym pytaniu i nie szukam w tym żadnej pomocy. Przeszukałem go na wiele różnych sposobów i nie mogę znaleźć odpowiedzi. Jak zacząć to?Jak utworzyć plik wsadowy, który akceptuje dwie liczby całkowite jako parametry

Wiem, że jest to bardzo podstawowe dla pewnie wszystkich, którzy to czytają, ale proszę cię, abyś mnie trochę zwolnił, wszyscy musimy zacząć gdzieś.

+0

Który system operacyjny? – ChrisF

Odpowiedz

9

Zakładając MS-DOS, można użyć %1, %2 itd. Dla parametrów wejściowych.

@ECHO OFF 

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

SET /a ANSWER=INT1*INT2 

ECHO %ANSWER% 

PAUSE 

Następnie można nazwać jako:

mybatchfile.bat 2 4 
+2

Uwaga: nie będzie działać z MS-DOS, ponieważ w MS-DOS nie ma "set/a". (chociaż jest to w porządku z CMD) – Stephan

3

Na oknach, to %1 %2

http://commandwindows.com/batch.htm

przykład:

@echo off 

echo %1 %2 

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

echo %v% %v2% %v3% 
+0

Tak, bardzo przykro, to Windows 7, w którym to robimy. Domyślam się, że moje zamieszanie pochodzi z próbki, którą dostaliśmy w naszym wykładzie, że zmienna została przypisana w skrypcie i nazwaliśmy plik "param". nietoperz'. Następnie uruchomiliśmy plik jako param.bat4 (lub dowolną liczbę), a 4 zostało przypisane jako zmienna. Nie mogłem się domyślić, jak do cholery miałem dostać dwie liczby całkowite w ten sposób. Po prostu mylić, tak myślę. – mrwienerdog

+0

Tak więc, aby użytkownik mógł przypisać wartość tego parametru, po prostu – mrwienerdog

+0

Cholera, wciąż naciskając przycisk powrotu, więc mam kilka postów, przepraszam. Jak mogę poprosić użytkownika o wprowadzenie parametru? – mrwienerdog

3

Zakładając to jest Windows, można odwoływać się do parametrów w skrypcie jako %1 i %2.

+0

Wow, jestem pod wrażeniem. W innych przypadkach, kiedy przeszukałem internet w poszukiwaniu pomocy technicznej (w odniesieniu do materiałów związanych ze szkołą), niektórzy z respondentów byli bardzo niegrzeczni podczas odpowiadania na pytania (zasadniczo nazywając to głupim plakatem). Jesteście świetni! Dziękuję bardzo za pomoc, teraz mogę ukończyć moje pytanie bez żadnego problemu. – mrwienerdog

+0

Nie ma za co, cieszymy się z pomocy! –

0

Jeżeli wymóg swojego przydziału nie konkretnie powiedzieć na pewno musi korzystać partię (cmd.exe), można użyć VBScript. Ma odrobinę lepszą obsługę błędów i może wykonywać obliczenia zmiennoprzecinkowe itp., Lepsze niż to, co oferuje 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 

przykład

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

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

Określa partię. Chociaż to, co napisałeś, wygląda naprawdę fajnie i nie mogę się tego doczekać! – mrwienerdog

Powiązane problemy