[VBS] hledani a kopirovani souboru

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod kuku 7. 11. 2007 13:33

Zdravim, potrebuju vytvorit skript na vyhledani souboru s urcitou priponou na disku a zkopirovani na dane misto. Pomoci jakych metod toho nejjednoduseji dosahnout? Nasel jsem tento skript http://www.rgagnon.com/wshdetails/wsh-0019.html ale na radku 21, znak 8 mi to pise chybu opravneni byla odeprena. Predpokladam, ze kdybych nekam do

Kód: Vybrat vše
If LCase(File.Name) = FileName Then
Location(Ubound(Location)) = File
ReDim Preserve Location(Ubound(Location) + 1)
End If


pridal metodu copyfile, tak by to mohlo fungovat. Vite nekdo cim je zpusobena chyba?

Nebo pouzit neco jineho? Nejlepe co nejrychlejsiho? Diky za rady.
Favorit 136L -> 626 GE 2.0
Fabia 1.4 MPI
No jo, vono dopředu se to jezdí, ale zacouvat, to už holt chce fištróna.
Naftak je jako prase. Chrochta a ***** !! ;)
kuku
Junior
Uživatelský avatar

Odeslat příspěvekod kuku 7. 11. 2007 20:38

Tak uz jsem trochu pokrocil, nicmene skript zatim neni uplne funkcni :(

skript je na http://www.mymail.cz/kukuraj/kopirovani.zip

chyba je na http://www.mymail.cz/kukuraj/err.bmp

Nejsem nejakej kovanej programator, tak to urcite ma spoustu much.

Bohuzel se mi zatim nepodarilo vytvorit na cilovym miste strukturu adresaru zdrojoveho mista, nicmene aspon to tridim do adresaru, ve kterych je primo dany soubor. Napr C:\prvni\file1.txt se me ulozi do C:\adresar\file1.txt a C:\prvni\druhy\file2.txt se me ulozi do C:\adresar\druhy\file2.txt. To by me ani tak nevadilo, pokud to neni zdroj problemu.

Skript me v soucastnym stavu chvili jede a pak vypise danou chybu. Poradi nekdo?
Favorit 136L -> 626 GE 2.0
Fabia 1.4 MPI
No jo, vono dopředu se to jezdí, ale zacouvat, to už holt chce fištróna.
Naftak je jako prase. Chrochta a ***** !! ;)
kuku
Junior
Uživatelský avatar

Odeslat příspěvekod Nargon 7. 11. 2007 21:33

Mno, me to funguje :)
A podle te chyby co ti to pise, tak ten script nema prava pristupovat na disk. Bud nemuze soubor precist nebo zapsat.

Ja mam na celem disku nastavena neomezena prava pro vsechny :) takze me to zadne problemy s opravnenim nepise.

A jestli jsem te dobre pochopil, tak ti to zkopiruje cast souboru a pak u nejakeho to vypise chybu? Na tohle by pomohlo dat na zacatek scriptu radek:
Kód: Vybrat vše
on error Resume Next

To by melo zabranit chybe, tedy nevypise to tu chybu a bude to pokracovat dal, jen to ten problemovej soubor nezkopiruje.
Desktop: Ryzen 7 1800X (3.95GHz, 1.35V), Asus Crosshair VI Hero, 16GB DDR4 Ram (3200MHz), 128GB SSD + 3TB HDD, Nvidia GTX 1080
Notebook: Asus UL50VT 15.6" (SU7300@1.7GHz, 4GB ram, 500GB HDD, Intel GMA 4500MHD + nVidia G210M, dlouha vydrz cca 7+ hod)
Nargon
Moderátor

Odeslat příspěvekod kuku 8. 11. 2007 11:14

Mno, castecne to pomohlo..nezobrazi to chybu, nicmene se to zasekne a nepokracuje. Nebylo by neco aby to danej soubor co to nehcce zpracovat preskocilo? :)
Favorit 136L -> 626 GE 2.0
Fabia 1.4 MPI
No jo, vono dopředu se to jezdí, ale zacouvat, to už holt chce fištróna.
Naftak je jako prase. Chrochta a ***** !! ;)
kuku
Junior
Uživatelský avatar

Odeslat příspěvekod Fireman 8. 11. 2007 15:54

na kod sem se nedival, ale kdyz nezabira on error resume next, tak to znamena jedine... snazi se porad kopirovat ten samy soubor.. to znamena ze tam je neco co proste po te chybe zkusi znovu kopirovat ten samy... asi to jde po kazdem souboru dal a kdyz se mu tam ten nepodari zkopirovat tak je pro nej "dalsi" soubor porad ten stejnej... takze se sice zasekne ale ve skutecnosti pracuje... podivej se na ten kod nebo si tam dej treba pocitadlo... a uvidis..
Fireman
Junior

Odeslat příspěvekod smrt28 8. 11. 2007 16:35

Je to uplne jednoduche:

find -type f -name '*.txt' -exec cp {} /sem/to/nakopiruj \;
smrt28
Kolemjdoucí


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků