prime_id Skrevet 10. februar 2007 Del Skrevet 10. februar 2007 hei hadde tenkt meg å laget et VB program som kopierer favoritter fra alle brukerne på pc'en til f.eks c:\backup\<Brukernavn>\favoritter altså trenger programmet å finne ut hvilke brukere som er på pc'en, finne ut hvilke som i det heletatt har favoritter, og så kopiere det til en enklere mappe, med brukerns navn. den må også kunne hente alle brukernes favoritter ved kun å være logget inn på 1 av dem. jeg har egentlig ikke noe utgangs punk her, ettersom jeg ikke vet hvordan man finner info om brukere eller hvordan man bruker VBA til å kopiere filer. det er jo egentlig ikke favoritter som er det mest intresange for meg her, men jeg tar en del backup av forskellige ting som ligger under brukerne, som vanligvis tar alt for lang tid.. hadde vært supert om jeg kunne automatisert prosessen. Lenke til kommentar
tZar Skrevet 11. februar 2007 Del Skrevet 11. februar 2007 Det enkleste er bare å loope gjennom Documents And Settings for å finne brukerene, deretter å gå inn i Documents And Settings\Brukernavn\Favorites\ og kopiere alt innholdet derfra. Dette burde være greit å gjøre som et lite vbscript, liten vits å bruke Visual Basic for en så enkel oppgave. Lenke til kommentar
ElmotriX Skrevet 11. februar 2007 Del Skrevet 11. februar 2007 hva mener du med å loope igjennom dokuments and settings? scriptet på jo finne ut hvilke mapper som ligger der, altså hvilke brukere som finnes. og derreter få inn i den mappen får å hente det jeg trenger (er jeg som er post starter, postet på en pc på jobben uten å legge merke til hvem som var logget inn) Lenke til kommentar
tZar Skrevet 12. februar 2007 Del Skrevet 12. februar 2007 (endret) hva mener du med å loope igjennom dokuments and settings? scriptet på jo finne ut hvilke mapper som ligger der, altså hvilke brukere som finnes. og derreter få inn i den mappen får å hente det jeg trenger (er jeg som er post starter, postet på en pc på jobben uten å legge merke til hvem som var logget inn) 7923870[/snapback] Ja, loope gjennom mappene som er der... Dim fso, SubFolders, x Set fso = CreateObject("Scripting.FileSystemObject") set mainfolder = fso.GetFolder("C:\Documents And Settings\") Set SubFolders = mainfolder.SubFolders for each x in SubFolders 'gjør det du skal gjøre.... gå inn i favorites katalogen feks. wscript.echo x.name next Noe slikt kan du prøve deg på for å ha litt begynner-hjelp Endret 12. februar 2007 av tZar Lenke til kommentar
backup Skrevet 12. februar 2007 Del Skrevet 12. februar 2007 Her er et vbs-script som looper igjennom documents and settings, sjekker etter mappene "Favoritter" (norsk winXP), skriver til Notepad alle filer som er der og fortsatt der, søker rekursivt i under-mapper og under-under-mapper etc. for å skrive til Notepad alle filer som er der. Fra Notepad kan man så lagre resultatet hvor man vil. NB! Utskriften til Notepad er det ikke lagt mye arbeid i. Den kan sikkert forbedres! strFolder = "C:\Documents and Settings" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(strFolder) Dim c Set colFolders = objFolder.SubFolders For Each Folder In colFolders c = C & folder.name & vbCrLf Set colFolders1 = Folder.subfolders For Each colfolder1 In colFolders1 If colfolder1.name = "Favoritter" Then 'XP norsk: Favoritter, Engelsk: Favorites Set files = colfolder1.files For Each file In files c = c & " " & file.path & vbcrlf next ShowSubFolders(colfolder1) End If next next Sub ShowSubFolders(objFolder) Set colFolders = objFolder.SubFolders For Each objSubFolder In colFolders c = c & " " & objsubfolder.name & vbcrlf Set colFiles = objSubFolder.Files For Each objFile In colFiles c = c & " " & objfile.path & vbcrlf Next Next End Sub Set oShell = WScript.CreateObject ("WSCript.shell") oShell.run "Notepad.exe" wscript.sleep 1000 oshell.SendKeys c Lenke til kommentar
ElmotriX Skrevet 12. februar 2007 Del Skrevet 12. februar 2007 Ja, loope gjennom mappene som er der... Dim fso, SubFolders, x Set fso = CreateObject("Scripting.FileSystemObject") set mainfolder = fso.GetFolder("C:\Documents And Settings\") Set SubFolders = mainfolder.SubFolders for each x in SubFolders 'gjør det du skal gjøre.... gå inn i favorites katalogen feks. wscript.echo x.name next Noe slikt kan du prøve deg på for å ha litt begynner-hjelp 7924591[/snapback] takker, veldig enkel å forstå.. men hvordan kan jeg kopiere hele mappen favoritter nå? ved å bruke variabelen x.name som mappe navn til hver loop? Lenke til kommentar
ElmotriX Skrevet 12. februar 2007 Del Skrevet 12. februar 2007 takker for ditt svar også backup, den fungerer fint, men en smule vanskelig å få oversikten over scriptet og se hva som blir gjort Lenke til kommentar
tZar Skrevet 13. februar 2007 Del Skrevet 13. februar 2007 takker for ditt svar også backup, den fungerer fint, men en smule vanskelig å få oversikten over scriptet og se hva som blir gjort 7931100[/snapback] Hvis du søker litt på nettet på filesystemobject eller fso sammen med vbscript så tenker jeg du får mange treff. Windows Script V5.6 Documentation som kan lastes ned hos MS kan også være kjekk å ha i bakhånd Lenke til kommentar
tZar Skrevet 13. februar 2007 Del Skrevet 13. februar 2007 Et lite klipp fra dokumentasjonen fra MS The following example creates a text file in the root directory of drive C, writes some information to it, moves it to a directory called \tmp, makes a copy of it in a directory called \temp, then deletes the copies from both directories. To run the following example, create directories named \tmp and \temp in the root directory of drive C: Sub ManipFiles Dim fso, f1, f2, s Set fso = CreateObject("Scripting.FileSystemObject") Set f1 = fso.CreateTextFile("c:\testfile.txt", True) Response.Write "Writing file <br>" ' Write a line. f1.Write ("This is a test.") ' Close the file to writing. f1.Close Response.Write "Moving file to c:\tmp <br>" ' Get a handle to the file in root of C:\. Set f2 = fso.GetFile("c:\testfile.txt") ' Move the file to \tmp directory. f2.Move ("c:\tmp\testfile.txt") Response.Write "Copying file to c:\temp <br>" ' Copy the file to \temp. f2.Copy ("c:\temp\testfile.txt") Response.Write "Deleting files <br>" ' Get handles to files' current location. Set f2 = fso.GetFile("c:\tmp\testfile.txt") Set f3 = fso.GetFile("c:\temp\testfile.txt") ' Delete the files. f2.Delete f3.Delete Response.Write "All done!" End Sub Lenke til kommentar
backup Skrevet 13. februar 2007 Del Skrevet 13. februar 2007 takker for ditt svar også backup, den fungerer fint, men en smule vanskelig å få oversikten over scriptet og se hva som blir gjort 7931100[/snapback] En kort oversikt: Det kan lette oversikten om man tar opp mappestrukturen til documents and settings samtidig som man går gjennom scriptet top-down. Da bør man kunne se at i colFolders leggges inn alle mappene i documents and settings. I hver av disse mapper sjekkes så om det finnes en undermappe som heter "Favoritter". Hvis ja, da blir først alle filenes fil-path i disse mapper lagt over i variabelen c. Derpå blir alle filenes fil-path til undermappene i hver "Favoritter"-mappe lagt over i variabelen c i tillegg til det som er der fra før. Lenke til kommentar
ElmotriX Skrevet 13. februar 2007 Del Skrevet 13. februar 2007 takker for response.. nå har jeg mer enn nok å sette meg inn i. og noen stikk ord å søke etter på goodle Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå