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

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: 2115
Registrován: duben 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod Peťa » 16 kvě 2013 16:33

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?

Reklama
Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23605
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod ITCrowd » 16 kvě 2013 16:43

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.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7359
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod faraon » 16 kvě 2013 16:47

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: 2115
Registrován: duben 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod Peťa » 16 kvě 2013 17:27

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.

Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23605
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod ITCrowd » 16 kvě 2013 18:11

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.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

Uživatelský avatar
Peťa
Level 5
Level 5
Příspěvky: 2115
Registrován: duben 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod Peťa » 16 kvě 2013 18:23

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:

Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23605
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod ITCrowd » 16 kvě 2013 21:30

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.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

Uživatelský avatar
Peťa
Level 5
Level 5
Příspěvky: 2115
Registrován: duben 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod Peťa » 16 kvě 2013 21:44

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.

Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23605
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod ITCrowd » 16 kvě 2013 22:07

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.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

Uživatelský avatar
Peťa
Level 5
Level 5
Příspěvky: 2115
Registrován: duben 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod Peťa » 16 kvě 2013 22:38

Perfektní :)

Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23605
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod ITCrowd » 16 kvě 2013 22:40

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é.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

Uživatelský avatar
Peťa
Level 5
Level 5
Příspěvky: 2115
Registrován: duben 10
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod Peťa » 17 kvě 2013 15:07

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í.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Jednoduché zaheslování složky v PC
    od Zabral68 » 25 pro 2023 08:58 » v Vše ostatní (bezp)
    3
    2781
    od Zabral68 Zobrazit poslední příspěvek
    25 pro 2023 09:49
  • Automatické přehrávání videa Příloha(y)
    od fafejt » 09 úno 2024 13:59 » v Internet a internetové prohlížeče
    4
    737
    od fafejt Zobrazit poslední příspěvek
    09 úno 2024 17:30
  • Skript na vytvoreni zastupce slozky
    od ajr » 01 úno 2024 21:21 » v Windows 11, 10, 8...
    1
    720
    od ITCrowd Zobrazit poslední příspěvek
    02 úno 2024 08:36
  • Outlook - složky v AJ, nelze vymazat Příloha(y)
    od janakailana » 03 bře 2024 08:21 » v Kancelářské balíky
    6
    925
    od janakailana Zobrazit poslední příspěvek
    03 bře 2024 11:16
  • Outlook - složky v AJ, nelze vymazat Příloha(y)
    od huklorcz » 15 bře 2024 22:20 » v Kancelářské balíky
    5
    985
    od mmmartin Zobrazit poslední příspěvek
    15 bře 2024 23:52

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti