Avatar billede andreas Nybegynder
10. februar 2009 - 14:15 Der er 3 kommentarer

Script til at kopiere filer

Hey folkens.

Jeg skal bruge et lille script som kan finde alle .pst og extend.dat filer i documents and settings for alle de brugere jeg har på en maskine, og så herefter kopiere dem til en specifik lokation med deres brugernavn.

Eksempel:

Outlook.pst, Archive.pst osv - samt extend.dat ligger i :

c:\Documents and Settings\soeren.hansen\Local Settings\Application Data\Microsoft\Outlook\

Dem vil jeg gerne have kopieret til:

\\filserver\outlook\soeren.hansen\

Den skal kunne virke med æøå, og så skal den så tage brugernavnet fra den mappe den er i og oprette på unc drevet.

Meget gerne må systemet gerne tjekke om der ligger noget først.. så man evt kan bruge scriptet som en form for mirror, men det nu ikke et krav.

Det skal køre på en windows 2003 enterprise med .NET 3.5 på.

Et lille vbs script eller sådan er fint, så er ikke helt sikker på kategorien faktisk.
Avatar billede arne_v Ekspert
11. februar 2009 - 01:26 #1
Det må være noget ligende denne her:

Imports System
Imports System.IO

Module SpecialCopy
    Sub Main()
        Dim mylocalappdata As DirectoryInfo = New DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData))
        Dim docandset As DirectoryInfo = mylocalappdata.Parent.Parent.Parent
        For Each d As DirectoryInfo in docandset.GetDirectories()
            Dim usr As String = d.Name
            Dim srcdir As String = Path.Combine(d.FullName, "Local Settings\Application Data\Microsoft\Outlook")
            If Directory.Exists(srcdir) Then
                Dim targetdir As String = Path.Combine("C:\dump", usr)
                Directory.CreateDirectory(targetdir)
                For Each f As String In Directory.GetFiles(srcdir)
                    Dim f2 As String = Path.Combine(targetdir, Path.GetFileName(f))
                    File.Copy(f, f2, True)
                Next
            End If
        Next
    End Sub
End Module
Avatar billede sn0wflake Nybegynder
11. februar 2009 - 03:00 #2
Jeg kodede noget lignende i PowerShell for at synkronisere hele harddiske, men er da interesseret i om arne_v's eksempel fungerer.
Avatar billede arne_v Ekspert
11. februar 2009 - 03:08 #3
Det tror jeg såmænd ikke at det er.

Men for 21 linier i et GP sprog er det OK.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester