Avatar billede x4all_dk Nybegynder
11. marts 2006 - 17:45 Der er 7 kommentarer og
1 løsning

Kopiere filer fra flere undermapper til en mappe

Nogen som ved hvordan man i Command prompt (eller med et freeware program) kan kopiere/flytte alle filer i et dir (med subdirs) til en mappe hvor filerne er samlet.

Altså: 
/filer/mappe1/1.txt
/filer/mappe1/2.txt
/filer/mappe2/1.txt
/filer/mappe2/3.txt
/filer/mappe3/1.txt
/filer/mappe3/2.txt
/filer/mappe3/mappe1/1.txt
/filer/mappe3/mappe1/3.txt

Skal alle kopieres/flyttes til:
/test/1.txt
/test/1_1.txt
/test/1_2.txt
/test/1_3.txt
/test/2.txt
/test/2_1.txt
/test/3.txt
/test/3_1.txt

Så at dubbletter "renames", med postfix "_"+(antal).

Tak til den som kan hjælpe med det :)
Avatar billede tofte Juniormester
11. marts 2006 - 17:56 #1
skal man have mulighed for at kopiere fra flere mapper eller er det bare alle undermapper i eks /filer/ som skal samles
Avatar billede x4all_dk Nybegynder
11. marts 2006 - 17:59 #2
Bare fra alle under mappe fra f.eks. /filer/
Avatar billede tofte Juniormester
11. marts 2006 - 18:24 #3
Jeg kender ikke et en kommando i til commando prompt, men du kan lave vbScript. Hvis du laver en tekstfil  med følgende indhold og omdøber den til endelsen vbs så kan du bare køre filen og filerne bliver kopieret. Husk at rette taget og source

sub CopyFolder(f)
    set files = f.Files
        for each folder in f.Subfolders
            CopyFolder(folder)
        next
    for each f in files
      if objFSO.FileExists(target&"\"&f.Name) then
        a=1
        fname=left(f.name,inStr(1,f.name,".")-1)
        ftype=mid(f.name,inStr(1,f.name,"."),len(f.name))
        while objFSO.FileExists(target&"\"&fname&"_"&a&ftype)
            a=a+1
        wend
        f.copy(target&"\"&fname&"_"&a&ftype)
      else
        f.copy(target&"\"&f.Name)
      end if
    next
end sub
   
    source="C:\test\src"
    target="C:\test\trg"

    dim folder,folderCol
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    set folder = objFSO.getFolder(source)
    CopyFolder(folder)
    set folder = nothing
    set objFSO = nothing
Avatar billede mrmox2 Nybegynder
11. marts 2006 - 19:13 #4
du kan bruge xcopy til formålet, eller robocopy (eller vbscript)
hvis du vil benytte xcopy kan jeg lige vende tilbage med syntaksen først på natten, sidder ik ved noget lige nu der kan bruges til det
Avatar billede mrmox2 Nybegynder
11. marts 2006 - 19:14 #5
hmm - er det meningen at den selv skal tjekke om der findes en dublet, og kun rename i de tilfælde? så kan xcopy+batfil benyttes, men vbscript er lige så tjekket mindst
Avatar billede x4all_dk Nybegynder
18. marts 2006 - 16:35 #6
Jeg afprøver din script asap Tofte, husk at smide et svar,
hvis du vil have point!
Avatar billede tofte Juniormester
18. marts 2006 - 17:17 #7
det kommer her - men jeg vil kun have points hvis det virker.
Avatar billede x4all_dk Nybegynder
30. marts 2006 - 23:23 #8
Det virker fint tak!
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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