Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.
itemscope itemtype="https://schema.org/QAPage"

CMD + pliki wsadowe kilka pytań

Dominikprezes 12 Sty 2010 00:14 4494 14
  • CMD + pliki wsadowe kilka pytań

    #1
    Poziom 12  

    Witam
    mam taki problem:

    Muszę napisać polecenie w Wierszu poleceń Windows które skopiuje pliki z jednego katalogu do drugiego, które zawierają na trzecim miejscu literę b, wiem, że trzeba użyć polecenia COPY i funkcji FOR zastanawiam sie też nad użyciem funkcji FIND. Próbowałem coś skleić ale nie daje to rezultatów ponieważ cały czas kopiuje wszystkie pliki znajdujące się w katalogu źródłowym, byłbym wdzięczny za jakąś podpowiedź. :D

    0 14
  • Pomocny post
    #2
    Spec od komputerów

    copy C:\katalog\??b*.* D:\katalog

    1
  • #3
    Poziom 12  

    Dziękuje

    następne pytanie:
    polecenie,które utworzy plik żądanej nazwie i pozwoli zapisać do pliku jakiegoś Stringa podanego z klawiatury należy użyć przy tym funkcji copy a zakończenie wprowadzania przez Ctrl +z

    0
  • #4
    Spec od komputerów

    copy con plik.txt

    Wychodzisz nciskajac ctrl+z i enter.

    0
  • #5
    Poziom 12  

    Co daje to "con" bo w helpie tego nie ma, a sprawdziłem i nie chce się bez tego obyć?

    0
  • #6
    Spec od komputerów

    Przeciez to absolutne podstawy, wszystko jest ogolnie i latwo dostepne w internecie.

    con to konsola

    0
  • #7
    Poziom 12  

    Przepraszam ale w tych materiałach co wygooglałem nie znalazłem tego, a trochę tego przewertowałem

    0
  • Pomocny post
    #8
    Poziom 42  

    Bo źle szukasz. Przejrzyj Google pod kątem poleceń DOS, wtedy wszystko znajdziesz. DOS to taki system, który panował na komputerkach osobistych przed erą okienek.

    http://www.google.pl/search?hl=pl&q=system+dos+polecenia&btnG=Szukaj&lr=&aq=4&oq=system+dos+

    http://www.agavk.p9.pl/strony/win_dos_2.php

    1
  • #9
    Poziom 12  

    Panowie mam takie kolejne pytanie, a w sumie to zadanie do wykonania:

    "Napisać skrypt, który pobierze listę użytkowników z pliku tekstowego, a następnie
    utworzy dla nich konta. Nazwa pliku ma zostać podana jako parametr wejściowy
    do skryptu. W przypadku braku parametru wejściowego skrypt powinien wyświetlić
    odpowiedni komunikat. Skrypt ma także sprawdzać czy plik, którego nazwę podano
    jako parametr wejściowy istnieje w podanej lokalizacji. Zawartość pliku z danymi
    powinna wyglądać następująco:
    1,Jan Kowalski,kowalj
    2,Jozef Nowak,nowakj
    3,Funky Koval,funky
    4,Brenda,brenda

    Jako separatora pól zastosować przecinek."

    Napisałem kilka linijek kodu które sprawdzają czy plik istnieje w podanej lokalizacji oraz czy podano parametr - nazwe pliku. Po napotkaniu któregoś z problemów wyświetlają stosowne komunikaty oto on:

    @echo off
    if "%1" == "" (goto komunikat)
    set /p lok=[ podaj lokalizacje w ktorej ma sie znajdowac plik]
    if not exist %lok%\%1 (goto komunikat2)
    type %lok%\%1
    echo:
    goto koniec
    :komunikat2
    echo nie istnieje plik w podanej lokalizacji sprawdz czy plik istnieje
    goto koniec
    :komunikat
    echo nie podales parametru jako nazwy pliku np. nazwa.txt
    goto koniec
    :koniec
    pause

    Jak zastosować pobranie nazw z pliku i jak wykorzystać separator ",".
    To jest mój największy problem, wiem jak utworzyć konta podając nazwę użytkownika z klawiatury przez net user ... /add. Nie potrafię sobie poradzić z pobraniem nazw z pliku.

    0
  • #10
    Poziom 42  

    Oj, jak to dawno było... szczerze mówiąc nie pamiętam już tych spraw, ale tak optycznie mi nie pasują te parametry jednym ciągiem bez odstępów

    1. @echo off
    2. if "%1" == "" (goto komunikat)
    3. set /p lok=[ podaj lokalizacje w ktorej ma sie znajdowac plik]
    4. if not exist %lok%\%1 (goto komunikat2)
    5. type %lok%\%1
    5. echo:
    6. goto koniec
    7. :komunikat2
    8. echo nie istnieje plik w podanej lokalizacji sprawdz czy plik istnieje
    9. goto koniec
    10. :komunikat
    11. echo nie podales parametru jako nazwy pliku np. nazwa.txt
    12. goto koniec
    13. :koniec
    14. pause

    Większość tych linijek jest jasna, z którą masz kłopot ? Może tak dojdziemy do ładu (dla porządku wywodu nadałem im numery linii).

    0
  • #11
    Poziom 12  

    chodzi o to że to nie jest cały program zamiast liniki 5 wiem, że ma być coś takiego...
    FOR /F "tokens=2,3 delims=," %%i IN (%lok%\%1) DO @echo %i %j %k

    ale nie wiem jak to obrobić bo wyświetla mi pokolei j k

    0
  • Pomocny post
    #12
    Spec od komputerów

    Na poczatek musisz sie nauczyc korzystac z wyszukiwarki, nastepnie zabierz sie za czytanie dokumentacji polecen dos. Bez tego raczej nie masz co liczyc na: "przyszły inż. prog".


    FOR /F "tokens=2,3 delims=," %%i in (%1) do @NET USER "%%i" %%j /add >nul

    Ps. Po co Ci zmienna %lok% skoro nic o tym nie ma w poleceniu?

    To jest zbedne:
    set /p lok=[ podaj lokalizacje w ktorej ma sie znajdowac plik]
    type %lok%\%1

    1
  • #13
    Poziom 12  

    Teraz działa i dziękuje za to, lecz nie rozumiem, po co to jechanko po mojej osobie. Jestem na forum, a na forum zadaje się pytania. A że szukałem tego w google i to co znalazłem w google i for /? nie pomogło mojej osobie poprosiłem o pomoc. Ludzka rzeczą jest pytać bo kto pyta nie błądzi, a to chyba właściwe jest miejsce do takich rzeczy. I nie napisałem czy może ktoś mi wkleić gotowy kod tylko sam go napisałem i wiedziałem w którym miejscu brakuje mi linijki i co powinno się zawierać, nie potrafiłem natomiast spasować jednej rzeczy z drugą. Lecz teraz już będę umiał.


    PS. Wiem, że w poleceniu tego nie ma ale będzie potrzebne do użycia w kolejnym poleceniu więc juz na przyszłośc jest.

    0
  • #14
    Admin grupy komputery

    Dominikprezes napisał:
    lecz nie rozumiem, po co to jechanko po mojej osobie.


    A to dlatego że ...
    Na forum, nie tylko rzucamy koło ratunkowe, ale i uczymy pływać.

    0
  • #15
    Poziom 12  

    FOR /F "tokens=2,3 delims=," %%i in (%1) do @NET USER "%%i" %%j /add >nul

    @ przy NET nie jest potrzebna, ponieważ na początku jest @echo off

    0