Plik wsadowy. Dowolna liczba plików tworzona z argumentów.

Plik wsadowy. Dowolna liczba plików tworzona z argumentów.
K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Siema,

mam pewien problem. Mam do napisania na zajęcia z systemów operacyjnych następujący plik wsadowy:

Napisz plik wsadowy, który będzie przyjmował na wejściu jedną z trzech opcji:

  1. Jeżeli pierwsza będzie "-k" to po tej opcji podana będzie nazwa katalogu (jednego) do utworzenia
  2. Jeżeli "-p" to będą tworzone pliki; po tej opcji podane będą nazwy plików do utworzenia (dowolna ilość). W każdym z utworzonych plików powinien znaleźć się jego numer (zależny od kolejności tworzenia)
    3)Jeżeli "/?" to wyświetli się pomoc.
    Jeżeli tworzony plik lub katalog istnieje, to użytkownik ma zostać o tym poinformowany, a plik wsadowy kończy dalsze działanie
    Gdy przy uruchamianiu nie podano opcji, ma zostać wyświetlona informacja że nie podano opcji.

Oto co stworzyłem:

Kopiuj
@echo off
:main
        if "%1" == "" goto error
        if "%1" == "/?" goto help
        if "%1" == "-k" goto k
        if "%1" == "-p" goto p
        
        goto end
:k
        if "%2" == "" (
                echo Nie podano nazwy katalogu do utworzenia.
                goto end
        )
        
        if exist %2 (
                echo Podany katalog istnieje.
                goto end
        )
        
        mkdir %2
        goto end

:p
        if "%2" == "" (
                echo Nie podano plikow do utworzenia.
                goto end
        )
        
        ???????????????????
        
        goto end

:error
        echo Nie podano opcji
        echo Opcja /? dla pomocy
        goto end

:help
        echo Zaleznie od wybranej opcji program:
        echo Tworzy katalog (-k nazwa_katalogu)
        echo Tworzy dowolna ilosc plikow, w ktorych znajduje sie numer pliku (-p pliki_do_utworzenia)
        goto end

:end

Nie wiem co dać w miejsce znaków zapytania. Próbowałem forem. Ale nic nie wychodziło.

Pomoże ktoś?
Dzięki z góry :)

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Pamiętaj że windowsowy batch nie pozwala odnosić się do wiecej niż 10 argumentów wywołania i trzeba sie bawić w popowanie argumentów żeby mieć dostęp do kolejnych ;]

K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Popowanie? Nie mam pojęcia co to jest xD

Wiem, że może byś max 10 argumentów. Ale dalej nie wiem co tam wstawić...

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

z tym popem chodzi mi o http://ss64.com/nt/shift.html ;]

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.