Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

CMD, konsola się zamyka, po uruchomieniu skryptu

brokieb 05 Sty 2014 16:06 1809 13
  • #1 05 Sty 2014 16:06
    brokieb
    Poziom 14  

    Cześć, otóż od wczoraj borykam się z problemem w którym, kiedy klikne w menu wyboru np. 1 konsola się zamyka.... proszę o pomoc :)

    Code:

    @echo off
    echo Wyswietlic zawartosc C:\
    mkdir C:\damian_
    echo Wyswietlic zawartosc Z:\
    subst Z: C:\damian_
    echo Wyswietlic zawartosc Z:\
    mkdir C:\damian_\matma C:\damian_\fiza C:\damian_\anglik
    echo Wyswietlic zawartosc Z:\ z odpowiednimi atrybutami

    echo .
    echo .
    echo .
    echo 1. Zmiana nazw katalogów matma, fiza i anglik
    echo 2. kopiowanie katalogów z napędu Z do C
    echo 3. Przesyłanie wyniku do Z:/skrypt.bkp
    echo .
    echo .
    echo .
    :start
    set /P C=wybierz opcje :
    if .%C%.=="1: zmiana
    if .%C%.=="2: kopiowanie
    if .%C%.=="3: przesyłanie
    goto choice
    pause
    :zmiana
    echo Wyswietlic zawartos Z:\
    rename C:\damian_\matma matematyka
    rename C:\damian_\fiza fizyka
    rename C:\damian_\anglik angielski
    pause
    :kopiowanie
    echo wyświetlić zawartość C:\
    move /Y Z:\ C:\
    pause
    :przesylanie
    echo wyświetlić zawartość Z:\
    damian_.bat > Z:\skrypt.bkp
    pause

    0 13
  • #2 05 Sty 2014 17:14
    WojtasJD
    VIP Zasłużony dla elektroda

    Kod: text
    Zaloguj się, aby zobaczyć kod

    0
  • #3 05 Sty 2014 17:20
    brokieb
    Poziom 14  

    tez nie działa, o samo ;))

    0
  • #4 05 Sty 2014 17:24
    WojtasJD
    VIP Zasłużony dla elektroda

    Jeszcze goto choice można wywalić - przecież nie masz takiej etykiety.

    Nie podano jaki system. Wywołaj z wiersz polecenia - zobaczysz gdzie masz błąd.

    0
  • #5 05 Sty 2014 17:27
    JRV
    Specjalista - VBA, Excel

    Witam
    Nawet jeśli konsola nie przestać, to wykona wszystkie pozycje 1, 2, 3, bo tam niema przejścia do zakończenia po wykonaniu pojedynczego elementu

    Cytat:
    if .%C%.=="1: zmiana

    Dlaczego kropki i cudzysłowie?
    ....
    :start
    set /P C=wybierz opcje :
    if %C%==1 goto zmiana
    if %C%==2 goto kopiowanie
    if %C%==3 goto przesyłanie
    pause
    :zmiana
    echo Wyswietlic zawartos Z:\
    rename C:\damian_\matma matematyka
    rename C:\damian_\fiza fizyka
    rename C:\damian_\anglik angielski
    pause
    goto end
    :kopiowanie
    echo wyświetlić zawartość C:\
    move /Y Z:\ C:\ rem 'tutaj bardzo wątpliwości -presuwanie samo do siebe
    pause
    goto end
    :przesylanie
    echo wyświetlić zawartość Z:\
    damian_.bat > Z:\skrypt.bkp
    pause
    :end

    0
  • #6 06 Sty 2014 10:35
    brokieb
    Poziom 14  

    hmm...; dalej się zamyka po wybraniu jakiejkolwiek opcji...

    Dodano po 2 [minuty]:

    System to Windows XP

    0
  • #7 06 Sty 2014 10:41
    wojtasdm
    Poziom 23  

    Bo po wybraniu każdej opcji idzie do ":end" i wychodzi. Zamień "goto end" na "goto start" i wróci na początek, jeśli to chcesz uzyskać...

    0
  • #8 06 Sty 2014 10:44
    brokieb
    Poziom 14  

    dalej sie zamyka :o

    Dodano po 1 [minuty]:

    Chodzi mi o to że konsola nie zatrzymuje się po zrobieniu polecenia
    :start
    echo ------------------------
    echo 1. Zmiana nazw katalogów matma, fiza i anglik
    echo 2. kopiowanie katalogów z napędu Z do C
    echo 3. Przesyłanie wyniku do Z:/skrypt.bkp
    echo ------------------------
    set /P opcja=wybierz opcje :
    if %opcja%=="1 goto zmiana
    if %opcja%=="2 goto kopiowanie
    if %opcja%=="3 goto przesyłanie
    goto zly_wybor
    :zmiana
    cls
    echo Wyswietlic zawartos Z:\
    rename C:\damian_wozniak\matma matematyka
    rename C:\damian_wozniak\fiza fizyka
    rename C:\damian_wozniak\anglik angielski
    pause <- pause nie reaguje
    goto start

    0
  • #9 06 Sty 2014 10:45
    wojtasdm
    Poziom 23  

    Nie zamyka, sprawdzałem skrypt kolegi JRV.

    0
  • #10 06 Sty 2014 10:46
    brokieb
    Poziom 14  

    Inaczej, nawet nie robi tego rename....

    Dodano po 34 [sekundy]:

    hmm... czyli mówisz że to działa???

    0
  • #11 06 Sty 2014 10:57
    wojtasdm
    Poziom 23  

    Poniżej wersja wstępnie oczyszczona, jak rozwiniesz temat co to ma dokładnie robić, to może pomożemy dalej... Na razie zestaw komend w sekcjach jest dość chaotyczny.

    Wyświetlanie - dir
    Zmiana nazwy katalogu - rd (rename directory)
    Kopiowanie katalogów - xcopy ("move" przenosi)

    A jutro trzeba iść do szkoły po dwóch tygodniach ferii... ;)





    @echo off
    :start
    cls
    echo ------------------------
    echo 1. Zmiana nazw katalogów matma, fiza i anglik
    echo 2. kopiowanie katalogów z napędu Z do C
    echo 3. Przesyłanie wyniku do Z:/skrypt.bkp
    echo 4. Koniec
    echo ------------------------

    set /P C=wybierz opcje:
    if %C%==1 goto zmiana
    if %C%==2 goto kopiowanie
    if %C%==3 goto przesyłanie
    if %C%==4 goto end
    goto start

    :zmiana
    cls
    echo Wyswietlic zawartos Z:\
    rename C:\damian_wozniak\matma matematyka
    rename C:\damian_wozniak\fiza fizyka
    rename C:\damian_wozniak\anglik angielski
    pause <- pause nie reaguje
    goto start

    :kopiowanie
    echo wyświetlić zawartość C:\
    move /Y Z:\ C:\ rem 'tutaj bardzo wątpliwości -presuwanie samo do siebe
    pause
    goto start

    :przesylanie
    echo wyświetlić zawartość Z:\
    damian_.bat > Z:\skrypt.bkp
    pause
    goto start

    :end
    exit

    0
  • #12 06 Sty 2014 11:48
    brokieb
    Poziom 14  

    okej, niby wszystko działa, ale kiedy chce przekierować zawartość tego co zrobiło CMD do innego pliku (damian_.bat > Z:\skrypt) nie działa

    0
  • #13 06 Sty 2014 14:57
    WojtasJD
    VIP Zasłużony dla elektroda

    Pisz precyzyjnie bo nie wiadomo o uruchomienie czego chodzi - tego Twojego całego skryptu czy tego pod etykietą przesylanie, którego wywołanie IMO lepiej by wyglądało tak

    Kod: text
    Zaloguj się, aby zobaczyć kod


    move <- można zmienić nazwę katalogu.
    Jak chcesz przenieść pliki z Z: na C: to
    Kod: text
    Zaloguj się, aby zobaczyć kod


    wojtasdm napisał:
    Zmiana nazwy katalogu - rd (rename directory)
    O nie, remove directory, jak rmdir :)

    BTW: jest różnica między przesyłanie a przesylanie

    0
  • #14 06 Sty 2014 15:15
    wojtasdm
    Poziom 23  

    Jasne, mój błąd, mam nadzieję, że niczego nie usunął ;)

    0