Program pro automatické zkopírování složky z pc na flešku

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
Peťa
Level 5
Level 5
Příspěvky: 2123
Registrován: 11 dub 2010 15:16

Program pro automatické zkopírování složky z pc na flešku

Příspěvek od Peťa »

Zdravím, potřeboval bych poradit s programem, který by uměl zkopírovat soubor z disku pc na flešku. Představuji si to tak, že flešku připojím k pc, na ní bude program, který spustím a on potřebné soubory z pc zkopíruje na onu flešku. Složka ze které se bude kopírovat, bude předem definovaná. Ideální by bylo, kdyby k tomu program nepotřeboval otevírat žádná okna a prostě to udělal. Nevím, zda by nebyl na toto vhodný nějaký skript.
Poradíte prosím?
Uziv00

Re: Program pro automatické zkopírování složky z pc na flešk

Příspěvek od Uziv00 »

Nadefinuj složku a skript ti můžu napsat. Upozorňuji, že je rozdíl mezi "C:\pokus\" a mezi "D:\Data\pokusy z krílova\atd \"
Dále si nadefinuj, co když na flešce už soubory budou.
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7415
Registrován: 23 pro 2010 09:23

Re: Program pro automatické zkopírování složky z pc na flešk

Příspěvek od faraon »

Na to ti stačí dávkový soubor s jedním příkazem, nebo třeba Autorun.inf.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
Uživatelský avatar
Peťa
Level 5
Level 5
Příspěvky: 2123
Registrován: 11 dub 2010 15:16

Re: Program pro automatické zkopírování složky z pc na flešk

Příspěvek od Peťa »

ITCrowd bylo by možné měnit cestu k souboru, protože se může stát, že budu potřebovat kopírovat i z jiné složky? Mám Notepad++ a pokud by byla zdrojová cesta vidět po otevření v Notepadu, mohl bych ji před použitím zeditovat. Nyní by se jedno o složku C:\Users\PETR\Documents
Pokud už soubry na flešce budou, tak ke kopírovaní nemusí dojít. Ještě dodám, že by bylo dobré, aby to fungovalo pod Vistou i win 7.
Uziv00

Re: Program pro automatické zkopírování složky z pc na flešk

Příspěvek od Uziv00 »

1. Ta složka documnets je vlastně složka, kterou vidíš když poklepeš na dokumenty?
2. Uživatel PETR je na obou počítačích?
3. Kopírovat se budou jen soubory, nebo i adresáře?
4. Jestliže soubory, pak všechny, nebo jen nějakého typu?
5. Má se třeba kontrolovat datum vytvoření při kopírování (tedy že by se starý soubor na flashce přepsal novým)?
7. Je žádoucí využít systémové proměnné?
8. Jak bude vyřešen přístup ke složce v případě přihlášení jiného uživatele?
9. Jaký bude vytvářený adresář na flashce?
ad7: lze použít systémovou složku Documents. V tom případě skript bude kopírovat složku Documents aktuálně přihlášeného uživatele.
Uživatelský avatar
Peťa
Level 5
Level 5
Příspěvky: 2123
Registrován: 11 dub 2010 15:16

Re: Program pro automatické zkopírování složky z pc na flešk

Příspěvek od Peťa »

1. ano
2. no je pravda, že uživatele PETR mám jen na svém osobním notebooku a když bych chtěl kopírovat i z dalšího, bylo by potřeba mít možnost to změnit
3. i adresáře
4. kdyby to šlo, tak aby to umělo všechny
5. ne
7. nevím o co se jedná a jak to může kopírovaní ovlivnit
8. na všech pc, ze kterých mám v plánu kopírovat, mám jen jednoho uživatele
9. složka s názve třeba Data (na názvu nesejde)
ad7. to by zřejmě zcela stačilo

Díky moc za čas, který tomu věnuješ :smile:
Uziv00

Re: Program pro automatické zkopírování složky z pc na flešk

Příspěvek od Uziv00 »

takže:
1. Skript využívá proměnné %userprofile% pro zjištění cesty k Documents. Tím je zajištěno, že zkopíruje vždy složku Documents aktuálně přihlášeného uživatele.
2. Skript si zjistí, ze kterého disku je spouštěn a na tomto disku vytvoří adresář a nahraje data.
3. Adresář je flashdisk:\DATA\UserName. Pokud neexistuje, tak si ho vytvoří.
4. Vytvoří dosovský příkaz, který spustí.
5. Předpokládá se, že bude vždy spouštěn z Flashdisku (je jedno, zda z kořenového, či jiného adresáře)
6. Zdrojová i cílová složka lze ručně měnit přepisem kódu (proměnné Zdroj a Cíl)
7. Bude fungovat na Windows7 a na Vista. Na XP ne, ty používají jiný název Documents. Na Windows8 nemám možnost vyzkoušet.

Kód: Vybrat vše

'***********************************************************
'*   Script kopíruje všechny soubory a složky z Dokumenty  *
'*   Vytváří si cílový adresář na FlashDisku               *
'***********************************************************  
'*            Vytvořeno pro PC-HELP                        *
'*                Etienn@Script                            *
'***********************************************************
Option Explicit
Dim disk, Zdroj, Dt, Cil, prikaz, Jmeno
Dim WshShell, objNetwork, fso

' zjisteni písmena disku scriptu 
disk = WScript.ScriptFullName
disk = Left(disk, 3)
'WScript.Echo disk

' Načtení složky Documents
Set WshShell = WScript.CreateObject("WScript.Shell")
Zdroj = wshShell.ExpandEnvironmentStrings( "%userprofile%" )
Zdroj = Zdroj & "\Documents" 'Zdrojová složka
'WScript.Echo Zdroj

' Načtení jména uživatele
Set objNetwork = CreateObject ("WScript.Network") 
Jmeno = objNetwork.UserName 
Dt = disk & "DATA\"
Cil = disk & "DATA\" & Jmeno 'Cílová složka
'WScript.Echo Cil

' Vytvoření adresáře na flashce
Set fso = CreateObject("Scripting.FileSystemObject")
If (Not fso.FolderExists(Dt)) Then fso.CreateFolder(Dt)
If (Not fso.FolderExists(Cil)) Then fso.CreateFolder(Cil)

' vytvoření a spuštění kopírování
If InStr(Cil, Chr(32)) Then
prikaz = "xcopy " & Chr(34) & Zdroj & Chr(34) & Chr(32) & Chr(34) & Cil & Chr(34) & Chr(32) & "/e /v"
Else
prikaz = "xcopy " & Chr(34) & Zdroj & Chr(34) & Chr(32) & Cil & Chr(32) & "/e /v"
End If
'WScript.Echo prikaz
WshShell.Run prikaz

Set WshShell = Nothing
Set objNetwork = Nothing
Set objNetwork = Nothing
Set fso = Nothing
tento kód si zkopíruj do notepadu !NE do Wordu nebo jiného editoru! soubor ulož a změň jeho příponu na .vbs. Spustíš jej poklepáním.
Uživatelský avatar
Peťa
Level 5
Level 5
Příspěvky: 2123
Registrován: 11 dub 2010 15:16

Re: Program pro automatické zkopírování složky z pc na flešk

Příspěvek od Peťa »

Díky moc :bigups: :smile: zítra ještě zkusím změnit složku, ze které se to bude kopírovat, abych vyzkoušel, jestli to zvládnu tak, abych skrip nepodrbal.
Ještě bych měl dotaz. Ten příkazový řádek, co se otevře po spuštění skriptu je nezbytný, nebo by to šlo udělat, tak aby nebyl vidět? Je to jen kosmetická záležitost.
Uziv00

Re: Program pro automatické zkopírování složky z pc na flešk

Příspěvek od Uziv00 »

Jistě že lze. V tom případě ale skript již existující soubory natvrdo přepíše.
Změň si spouštěcí část skriptu takto:

Kód: Vybrat vše

' vytvoření a spuštění kopírování
If InStr(Cil, Chr(32)) Then
prikaz = "%comspec% /c xcopy " & Chr(34) & Zdroj & Chr(34) & Chr(32) & Chr(34) & Cil & Chr(34) & Chr(32) & "/e /y"
Else
prikaz = "%comspec% /c xcopy " & Chr(34) & Zdroj & Chr(34) & Chr(32) & Cil & Chr(32) & "/e /y"
End If
'WScript.Echo prikaz
WshShell.Run prikaz, 0, True
MsgBox "Soubory byly zkopírovány" , vbOKOnly + vbInformation, "INFO"
Přidal jsem tam řádek MsgBox, který oznamuje ukončení skriptu. Pokud ho tam nechceš, tak jej klidně smaž, nebo ho můžeš "zaremovat" napsáním apostrofu před příkaz.
Uživatelský avatar
Peťa
Level 5
Level 5
Příspěvky: 2123
Registrován: 11 dub 2010 15:16

Re: Program pro automatické zkopírování složky z pc na flešk

Příspěvek od Peťa »

Perfektní :)
Uziv00

Re: Program pro automatické zkopírování složky z pc na flešk

Příspěvek od Uziv00 »

Tak ať ti to slouží ku prospěchu. Až si budeš jistý, že je vše jak potřebuješ, označ téma za vyřešené.
Uživatelský avatar
Peťa
Level 5
Level 5
Příspěvky: 2123
Registrován: 11 dub 2010 15:16

Re: Program pro automatické zkopírování složky z pc na flešk

Příspěvek od Peťa »

Ještě mě něco napadlo. Pokud bych chtěl kopírovat opačně, tzn. z flešky do pc, tak stačí jen pozměnit zdrojovou a cílovou složku, nebo je to složitější? Napadá mě problém, že každý pc může přidělit flešce přece jiné písmeno k jejímu označení.
Zamčeno
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • W11 - předdefinované složky
    od draxxx » » v Windows 11, 10, 8...
    2 Odpovědi
    4613 Zobrazení
    Poslední příspěvek od draxxx
  • Automatické přihlašování k fóru.
    od pcmaker » » v PC-HELP - připomínky k fóru
    1 Odpovědi
    4856 Zobrazení
    Poslední příspěvek od atari
  • Obsah složky se zrcadlí na ploše
    od Grander » » v Windows 11, 10, 8...
    4 Odpovědi
    5432 Zobrazení
    Poslední příspěvek od Grander
  • Jaký program pro zpracování videa je nejlepší?
    od zuzana3 » » v Programy ke stažení
    7 Odpovědi
    9494 Zobrazení
    Poslední příspěvek od buchtik

Zpět na „Programování a tvorba webu“