Automatické zálohování obsahu USB paměti
Prostřednictvím flash paměti se dají snadno vyměňovat soubory mezi počítači doma, na pracovišti a na cestách. To však s sebou nese jedno nebezpečí – pokud drobnou „flešku“ zapomenete nebo ztratíte, jsou pryč i vaše data.
Automatické zálohování obsahu USB paměti
Prostřednictvím flash paměti se dají snadno vyměňovat soubory mezi počítači doma, na pracovišti a na cestách. Často na tomto nosiči také přímo zpracováváte dokumenty. To však s sebou nese jedno nebezpečí - pokud drobnou „flešku" zapomenete nebo ztratíte, jsou pryč i vaše data.
Pomocí skriptu zařiďte zálohování flash paměti tak, aby její obsah byl samočinně uložen, jakmile ji zasunete do počítače. Pak v případě nějakého problému na kterémkoliv z vašich počítačů máte v záloze aktuální stav všech důležitých dat. Aby to fungovalo na každém počítači, musí být příslušný skript uložen přímo v USB paměti a na všech počítačích být automaticky spustitelný prostřednictvím složky Po spuštění.
Vlastní kopírovací práci zařídí výkonný nástroj »robocopy.exe«. Pod Vistou už je součástí systému, pro XP budete potřebovat Windows Server 2003 Ressource Kit. Můžete si jej zdarma stáhnout z adresy www.microsoft.com/downloads, kde vyhledáte »rktools.exe«. Po nainstalování balíku najdete »robocopy.exe« ve složce »C:\Program Files\Windows Resource Kits\Tools« nebo pod Vistou přímo v »C:\Windows\System32«. Nástroj zkopírujte do USB paměti. Máte-li po ruce naše Chip DVD, zkopírujte si následující výpis přímo odtamtud do souboru »USB-Backup.bat«, který založíte v kořenovém adresáři flash paměti. Jinak spusťte Poznámkový blok a opište do něj následující příkazy:
@echo off & setlocal
echo %computername%
If %computername%==PC-1 goto PC-1
If %computername%==PC-2 goto PC-2
If %computername%==Notebook goto
Notebook
Goto Error
:PC-1
..\robocopy.exe %cd%\ "C:\Data\USB-Stick" /MIR /NFL /NDL
Goto End
:PC-2
..\robocopy.exe %cd%\ "C:\Data\USB-Stick" /MIR /NFL /NDL
Goto End
:Notebook
..\robocopy.exe %cd%\ "C:\Vlastni Data\USB-Stick"/MIR /NFL /NDL
Goto End
:Error
Echo "Chybí zaloha! Nespravne PC!"
pause
Goto: eof
:End
Echo "Zaloha USB pameti ulozena"
Ping -n 5 localhost > nul
Důležité: Skript zjistí aktuální název počítače, porovná jej s názvem uvedeným ve skriptu a podle toho rozhodne, který blok příkazů má provést. Aby to fungovalo, musíte uvést názvy počítačů, s nimiž má být „fleška" porovnána. Ve výpisu jsme pro ně vyhradili fiktivní označení »PC-1« a »PC-2«, která prostě nahraďte konkrétními názvy. Ty zjistíte tak, že klávesovou kombinací [Windows]+[Pause] otevřete Vlastnosti systému a tam přejdete na kartu »Název počítače«. Kromě toho v kopírovacích příkazech upravte písmeno logické jednotky, které je na každém jednotlivém počítači přiřazeno USB paměti, a cestu, kam se data mají ukládat.
Nyní se ještě postarejte o to, aby se dávkový soubor spustil samočinně při zasunutí flash paměti do počítače. Za tím účelem založte v jejím kořenovém adresáři pomocí textového editoru soubor »autorun.inf« a vložte do něj následující příkazy:
[autorun]
UseAutoPlay=1
Action=Kopie USB pameti
ShellExecute=USB-Backup.bat
Po uložení bude automatické zálohování připraveno k použití. Jakmile USB paměť připojíte k počítači, samočinně se spustí náš skript. Pokud zjistí neshodu v názvu počítače, vypíše jenom zprávu. Příkaz Pause přitom zajistí nezbytnou dobu pro její přečtení. Je-li název počítače shodný s předpokládaným, nástroj provede zálohování.
Upozornění: Pomocí proměnných »%cd%« obcházíme problém, že Windows mohou USB paměti eventuálně přiřadit nové písmeno jednotky. Tak se automaticky ocitáme v aktuální cestě.
Pokud by se skript nespustil, je v systémovém registru zablokována volba samočinného spuštění. Jste-li přihlášeni s oprávněním správce, můžete funkci odblokovat. Za tím účelem spusťte editor registru a otevřete v něm klíč HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\policies\Explorer. Pak dvojitě klikněte na »NoDriveTypeAutoRun« a hodnotu změňte na heximálních »91« (dekadicky 145). Po uzavření registru už bude samočinné spouštění fungovat.
| Ohodnotit1 | 6 (3/6) |

