none
Příkazový řádek, dávkový soubor s XCOPY.

    Dotaz

  • Dobrý deň.

    Píšem dávkový príkaz na zálohovanie dát.

    Data určené na zálohovanie sú v adresáry:   C:\Documents and Settings\kopera\Data aplikací\Thunderbird\Profiles
    (Adresár "Data aplikací" má atribút "skrytý" a "jen pro čtení")
    Miesto zálohy: E:\1_dokumenty\Mail\Thunderbird\Zaloha

    Môj príkaz v príkazovom riadku, ktorý funguje (aspoň sa to zatiaľ tvári, že funguje) je :
    C:\>xcopy "C:\Documents and Settings\kopera\Data aplikací\Thunderbird\Profiles"
    E:\1_dokumenty\Mail\Thunderbird\Zaloha\ /y /e

    po zadaní prepínača  /u  mi vypíše, že sa skopíruje 36 súborov.

    Ak tento príkaz nakopírujem do dávkového súboru    zaloha.bat   nič sa neudeje. Ak si dám spraviť výpis >log.txt
    v    log.txt    je   0 skopírovaných súborov. Vyskúšal som rôzne kombinácie prepínačov, nedarí sa mi sprevádzkovať
    ten BAT  súbor.

    Kópia môjho textu (príkazu) v zaloha.bat
    xcopy "C:\Documents and Settings\kopera\Data aplikací\Thunderbird\Profiles" E:\1_dokumenty\Mail\Thunderbird\Zaloha\ /w /e /h /u >log.txt

    Vie mi niekto pomôcť?

    Ďakujem. RADO.


    017.........




    pátek 12. června 2015 6:31

Odpovědi

  • Riešenie problému:

    Dávkový príkaz v BAT súbore (nefunkčný):
    "C:\Documents and Settings\kopera\Data aplikací\Thunderbird\Profiles" (tu je ENTER)
    E:\1_dokumenty\Mail\Thunderbird\Zaloha\ /y /e

    Dávkový príkaz v BAT súbore (funkčný):
    "C:\Documents and Settings\kopera\Data aplikací\Thunderbird\Profiles" (tu je len medzera)E:\1_dokumenty\Mail\Thunderbird\Zaloha\ /y /e

    V dávkovom súbore pre Windows XP a iné staršie Windows som písal príkaz s ENTRami,
    tie fungovali. Vo Windows 7 nefungujú. Dávkový príkaz pre Windows7 musí byť bez klávesy ENTER,
    musí to byť jednoriadkový príkaz len s medzerami.
    Môj dávkový príkaz funguje spoľahlivo, ako za starých čias, aj s Windows7.

    Dávkový súbor BAT pre Windows7
    Copy C:\xxxxxxxxxx D:\yyyyyyy              bude fungovať

    Copy C:\xxxxxxxxxx 
    D:\yyyyyyy                                               nebude fungovať


    017.........


    pondělí 26. října 2015 14:33

Všechny reakce

  • 1.V dobe, kdy jsem se zabyval podobnym problemem, pouzival jsem trochu jine reseni

    http://mozbackup.jasnapaka.com/

    2. Proc mate ruzne parametry v "rucni" verzi a v davkovem souboru? Jak osetrite parametr w v davkovem souboru? K cemu je dobry parametr u?

    M.


    pátek 12. června 2015 9:10
    Moderátor
  • DD,

    odstraňte z dávkového souboru parametr /w, ten tam být nemůže, protože nedochází k interakci. Parametr /U je dle mého také zbytečný a dejte tam parametr co máte v příkazu nad tím /Y. Takže finále by vám mělo fungovat takto xcopy zdroj cil /y /e /h

    Teď přesně nevím jak je to v cmd, ale powershell je cholostivý na "\" na konci cesty. Zkuste v cílové cestě toto lomítko odstranit (ve zdrojové ho ponechte).

    S pozdravem

    PT

    pátek 12. června 2015 12:54
  • DD,

    nebude spíše chyba v syntaxi? Neměla by u XCOPY na konci cesty k souboru být \*.*? Nejsem si tím sice jistý, ale v "dávných dobách" než jsem přešel od COPY či XCOPY k ROBOCOPY, tak jsem s tím zápasil. Pokud můžete vyloučit že nejde o probém přístupových práv k příslušnému adresáři, tak bych se zaměřil tímto směrem. Zkuste třeba script přepsat na použití ROBOCOPY (viz Robocopy /???), např. použít parametr /MIR (mirror).

    pátek 12. června 2015 19:04
  • Riešenie problému:

    Dávkový príkaz v BAT súbore (nefunkčný):
    "C:\Documents and Settings\kopera\Data aplikací\Thunderbird\Profiles" (tu je ENTER)
    E:\1_dokumenty\Mail\Thunderbird\Zaloha\ /y /e

    Dávkový príkaz v BAT súbore (funkčný):
    "C:\Documents and Settings\kopera\Data aplikací\Thunderbird\Profiles" (tu je len medzera)E:\1_dokumenty\Mail\Thunderbird\Zaloha\ /y /e

    V dávkovom súbore pre Windows XP a iné staršie Windows som písal príkaz s ENTRami,
    tie fungovali. Vo Windows 7 nefungujú. Dávkový príkaz pre Windows7 musí byť bez klávesy ENTER,
    musí to byť jednoriadkový príkaz len s medzerami.
    Môj dávkový príkaz funguje spoľahlivo, ako za starých čias, aj s Windows7.

    Dávkový súbor BAT pre Windows7
    Copy C:\xxxxxxxxxx D:\yyyyyyy              bude fungovať

    Copy C:\xxxxxxxxxx 
    D:\yyyyyyy                                               nebude fungovať


    017.........


    pondělí 26. října 2015 14:33
  • Blahopreji k uspesnemu dovrseni ctyrmesicniho vyzkumu.

    Uprimne receno, mne by opravdu nenapadlo rozdělovat jakykoliv prikaz, pokud by syntaxe neumožnila "pokracovaci radek". Veskere uvedene prikazy bych psal v předchozích i soucasnych verzích operačního systemu Windows v ramci jednoho radku. Myslim, ze ani kolegove by na problém neprisli, pokud by nevideli prikaz na vlastní oci v zapisu bat/cmd souboru.

    Navíc, vas "pokracovaci  radek" by mel generovat chybu, nebo chovani, ktere jste neuvedl. Z toho je patrne, ze cim pečlivěji (a nemusi to byt dlouhe) popíšete problém, tim rychleji se spolecne dopracujeme k vysledku.

    U viceradkovych prikazovych souboru je docela uzitecne vkládat echa, aby se dalo sledovat provadeni a dohledat, kde doslo k chybe.

    M.

    pondělí 26. října 2015 15:08
    Moderátor