Příkazová řádka – 4. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Příkazová řádka – 4. lekcePříkazová řádka – 4. lekce

 

Příkazová řádka – 4. lekce

Google       Google       27. 4. 2006       62 479×

Začátečnické kopírování na Příkazovém řádku není věc, která je rychlejší nebo pohodlnější než v Total Commanderu. Rozhodně ale stojí za to se to naučit. Kopírovat bez myši, jen pomocí příkazů z klávesnice. Kopírovat budeme soubory i složky. Současně s tím si řekneme něco o takových divných znacích, které se někdy v názvech souborů vyskytují, jako např „*“.

Reklama
Reklama

xcopy

Předpokládám, že všichni z vás již někdy kopírovali. Ze začátku většinou v Tento počítač nebo Dokumenty, později snad v Průzkumníkovi. Předposlední metou všech kopírovačů je pak nějaký souborový manažer, např. Total Commander, kde se zvyšuje rychlost a efektivita několikanásobně oproti kopírování pomocí myši v Tento počítač. Poslední metou je pak kopírování v DOSu, případně různých programovacích jazycích, kdy si sami přesně určujete, co a kam chcete nakopírovat a kopíruje celé struktury adresářů na jeden Enter.


Cvičební script na tvorbu pomocných souborů

Dnes se budeme učit kopírovat v DOSu se vším, co s tím souvisí. Tedy hlavně zástupné symboly. Připravil jsem proto pro vás script napsaný v Pythonu, který vám v aktuálním adresáři, vytvoří 20 souborů s příponou txt, 20 s jpg, 20 s c, 20 s py a 20 s mp3. Celkem tedy 100 souborů. Proto bude třeba, abyste si nainstalovali Python. Není nic jednoduššího – klasická instalace OK – OK – Finish. Stahujte zde:

Následující kód si nakopírujte do souboru, například v PSPadu, soubor uložte pod názvem například soubory.py na vhodné místo - tam, kde budete chtít mít 100 cvičných souborů. Pak soubor stačí spustit - dvakrát na něj kliknout v Průzkumníkovi nebo na příkazové řádce napsat python soubory.py nebo dokonce i jen soubory.py. Při použití příkazové řádky ovšem musíte samozřejmě stát ve správné složce.


"""Tento skript je vytvoren v Pythonu a slouzi jako pomocny 
k teto lekci. V aktualnim adresari vam vyrobi desitky 
souboru s ruznymi priponami."""

import random

typy=[".txt",".jpg",".c",".py",".mp3"]
pocet=20

def jmeno():
    vyber=list("abcdefghijklmnopqrstuvwxyz0123456789")
    delka=random.randint(3,8)
    nazev=random.sample(vyber, delka)
    return "".join(nazev)
    
def vytvorSoubory(typ):
    for i in range(pocet):
        nazev= jmeno()+typ
        print nazev
        soubor=file(nazev,"w")
        soubor.write("Toto je zkusebni soubor " + typ)
        soubor.close()

# ----- hlavni program ---------------------------------

for typ in typy:
    vytvorSoubory(typ)
    
raw_input("\nStiskni Enter na ukonceni")

První xcopy

Pro kopírování v DOSu se používá příkaz copy nebo xcopy. xcopy je modernější verze, budeme tedy používat tuto. Pomocí xcopy /? získáte přehled všech možných parametrů, které xcopy přijímá. Nám však zatím bude stačit tato jednoduchá konstrukce:


xcopy odkud kam

To odkud i kam jsou cesty, buď absolutní nebo relativní. Jen připomenu, že pokud se v cestě náhodou objeví mezera, je nutno tuto cestu uzavřít do uvozovek.

  • Odkud udává soubor nebo soubory, které se mají kopírovat.
  • Kam udává, kam se mají soubory kopírovat.

Takže stojíme v adresáři, kde máme našich 100 souborů (někdo dokonce 101) a zkusíme kopírovat. Budeme kopírovat do složky c:\temp, tu doufám, že všichni máte. Pár příkladů, které si rozhodně vyzkoušejte:


del c:\temp\*.*     # smažeme vše, co je v této složce, ať máme čisto
xcopy *.* c:\temp   # nakopíruj vše do složky c:\temp
xcopy *.mp3 c:\temp # nakopíruj do složky pouze soubory s příponou mp3
xcopy a*.* c:\temp  # kopíruj všechny soubory, které začínají na písmeno 'a'
xcopy m*.py c:\temp # kopíruj všechny soubory, které začínají na 'm' a mají příponu py 

Pokud provádíte kopírování několikrát za sebou, určitě na vás vyběhne hláška:


C:\zkouska>xcopy *.* c:\temp
Přepsat C:\temp\0wgt.jpg (Ano/Ne/Vše)?

Stačí zadat ‚A‘ nebo ‚a‘ nebo ‚V‘ či ‚v‘ a kopírování probíhá dál. Pokud nechcete přepsat, tak jen ‚N‘ nebo ‚n‘. Chcete-li úplně přerušit kopírování, abyste nemuseli pořád mačkat nnnnnnnnnnnnn, tak stačí CTRL+C (držet CTRL a ťuknout do ‚C‘).


Zástupné znaky

Snad jste všichni poznali, že „*“ v předchozí ukázce příkazů znamená „VŠE“. Tedy např. *.txt značí VŠECHNY (*) soubory s příponou txt (.txt). „*“ značí vše, tedy nezáleží, jestli jméno má 3 nebo 20 znaků, prostě vše až do tečky, kde již začíná přípona.

Existuje ještě jeden zástupný znak, který se však využívá málo, a to je „?“. „?“ značí právě JEDEN jakýkoliv znak. Ukázka příkazů:


# kopíruj soubory, které začínají na "a" a mají přesně 3 znaky s libovolnou příponou
xcopy a??.* c:\temp  

# kopíruj soubory, které mají v názvu maximálně 3 znaky s libovolnou příponou
# První (a i druhý) ? může být totiž i "nic" (mezera), tudíž tomuto vzoru odpovídá i např. a.txt 
xcopy ???.* c:\temp  

# kopíruj všechny soubory, jejich přípona má maximálně 2 znaky  
xcopy *.?? c:\temp  

Druhé xcopy

Pomocí copy můžeme kopírovat nejen soubory, ale i celé složky. Vytvořte si tedy nějaké, nakopírujte si do nich nějaké soubory a zkuste následující. Já mám založeny adresáře hudba a python:


xcopy hudba c:\temp\hudba\     # kopíruj celý adresář hudba do temp (adresář hudba tam bude vytvořen)
xcopy hudba c:\temp            # kopíruj vše, co je ve složce hudba, do c:\temp (adresář nebude vytvořen)
xcopy hudba c:\temp\hudba      # DOS se nás zeptá, jestli chceme adresář vytvořit

Při tomto způsobu kopírování nedochází ke kopírování všech případných vnořených adresářů ve složce hudba. Jen soubory. Chceme-li nakopírovat úplně vše, všechny soubory i složky, které v „hudbě“ jsou, musíme použít přepínač /S:


xcopy /S hudba c:\temp\hudba\  # nebo taky
xcopy hudba c:\temp\hudba\ /S

Závěr

Tak na co jsem z této problematiky zapomněl, to nevím. Pokud to víte vy, dejte vědět. Rozhodně si vše vyzkoušejte, protože pouhým přečtením si zapamatujete málo, tedy pokud to máte jako já ;-) Jo a nezapomeňte na úkol.


Úkol

Tentokrát nechci vidět výsledky, které vám budou příkazy z úkolu vypisovat, protože by to byl velmi dlouhý seznam. Chci vidět jen ty příkazy. Nakopírujte do složky c:\temp z aktuálního adresáře následující soubory/složky

  • všechny soubory
  • všechny soubory s příponou jpg
  • všechny soubory, které začínají na písmeno „x“
  • všechny maximálně 4-místné soubory s libovolnou příponou
  • všechny céčkovské soubory, které začínají na „h“
  • celou složku (včetně podsložek) „filmy“

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Pavel KosinaAutor programuje v Pythonu.
Web    

Nové články

Obrázek ke článku Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

Reklama
Reklama
Obrázek ke článku ICT PRO školení zaměřené nejenom na ICT

ICT PRO školení zaměřené nejenom na ICT

Dovolte, abychom se představili. Jsme zaměstnanci společnosti ICT Pro, profesionálové v oblasti poskytování komplexních ICT služeb. Neboli služeb spojených s informačními a komunikačními technologiemi, které dnes - ve 21. století - tvoří  nedílnou součást běžného provozu všech moderních firem.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý