25. september 2004 - 21:07
Der er
26 kommentarer og 1 løsning
Kopiere Filer
Hejza allesammen. Skal bruge en kode som kopiere en nogen filer af en mappe til en anden.Her er snakke om filer på 100 kb. Kan nogen hjælpe mig med det? På forhånd Tak .
Annonceindlæg fra Computerworld
Gefion skaber fremtidens AI
Supercomputeren Gefion er Danmarks nye AI-kraftværk og skal sikre, at både forskning og virksomheder kan være med i den teknologiske front.
14. august 2025
25. september 2004 - 21:12
#1
Vil du kopiere en enkelt fil eller vil du kopiere alle filer i en mappe ? Og på hvilken platform ? (windows/linux)
25. september 2004 - 21:18
#2
25. september 2004 - 21:20
#3
25. september 2004 - 21:21
#4
25. september 2004 - 21:21
#5
25. september 2004 - 21:24
#6
Du ville formentlig linke til Find*. Eksempel: #include <stdio.h> #include <windows.h> int main() { WIN32_FIND_DATA data; HANDLE h = FindFirstFile("\\dir\\*.*",&data); if(h!=INVALID_HANDLE_VALUE) { // process data.cFileName while(FindNextFile(h,&data)) { // process data.cFileName } } FindClose(h); return 0; }
25. september 2004 - 21:26
#7
25. september 2004 - 21:27
#8
Hejza igen. JEg er først lige begyndt på c++ så har ikke så meget kendskab til det :( . Det er en windows maskine, og det skal være alle filerne i en mappe.
25. september 2004 - 21:33
#9
det link med med copyfile siger ikke mig så meget.. Kan du måske forklarer mig lidt ?
25. september 2004 - 21:37
#10
Komplet eksempel: #include <stdio.h> #include <windows.h> void copy(char*fnm, char *fradir, char*tildir) { char fullfra[MAX_PATH],fulltil[MAX_PATH]; if(fnm[0]!='.') { sprintf(fullfra,"%s%s",fradir,fnm); sprintf(fulltil,"%s%s",tildir,fnm); CopyFile(fullfra,fulltil,0); } } int main() { WIN32_FIND_DATA data; HANDLE h = FindFirstFile("C:\\fradir\\*.*",&data); if(h!=INVALID_HANDLE_VALUE) { copy(data.cFileName,"C:\\fradir\\","C:\\tildir\\"); while(FindNextFile(h,&data)) { copy(data.cFileName,"C:\\fradir\\","C:\\tildir\\"); } } FindClose(h); return 0; }
25. september 2004 - 21:41
#11
sejt.. takker.. må jeg spørger om to til mere ?
25. september 2004 - 21:42
#12
selvfølgelig
25. september 2004 - 21:42
#13
Man kunne checke om den har fundet en mappe inden man forsøger at kopiere: if(!(data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) ItsNotaFolder()
25. september 2004 - 21:44
#14
Hvis den skulle finde en mappe ud fra en streng ville det blive: copy(data.cFileName,fra,til"); Ikke ? Jeg tror jeg vil komme ud for et problem, hvor brugeren ikke har adgang til mappe1. Hvad gør man så? Kan man bare lave en tilladelse på mappen ?
25. september 2004 - 21:45
#15
bertel> Det var nok smart at teste på om det er en fil (i.s.f. mit primitive '.' test).
25. september 2004 - 21:51
#17
det er fat32 ... Noget ala..: if (!(dwAttrs & FILE_ATTRIBUTE_READONLY)) { SetFileAttributes(szNewPath, dwAttrs | FILE_ATTRIBUTE_READONLY); } } else { printf("Could not copy file.\n"); return; } Men kan bare ikke helt finde ud af at sætte det ind mit script :( .. . Skal jeg forhøje pointsne for det
25. september 2004 - 21:53
#18
giver fejl : #include <stdio.h> #include <windows.h> void copy(char*fnm, char *fradir, char*tildir) { char fullfra[MAX_PATH],fulltil[MAX_PATH]; if(fnm[0]!='.') { sprintf(fullfra,"%s%s",fradir,fnm); sprintf(fulltil,"%s%s",tildir,fnm); CopyFile(fullfra,fulltil,0); } } int main() { WIN32_FIND_DATA data; HANDLE h = FindFirstFile("C:\\tester\\mappe1\\*.*",&data); if(h!=INVALID_HANDLE_VALUE) { dwAttrs = GetFileAttributes(data.cFileName); SetFileAttributes(szNewPath, dwAttrs | FILE_ATTRIBUTE_READONLY); copy(data.cFileName,"C:\\tester\\mappe1\\","C:\\tester\\mappe1\\"); while(FindNextFile(h,&data)) { copy(data.cFileName,"C:\\tester\\mappe1\\","C:\\tester\\mappe2\\"); } } FindClose(h); return 0; }
25. september 2004 - 22:14
#19
Hvad er det du vil ændre protection på ? Det er jo ligegyldigt om mappe1 er readonly eller ej. [der er nogle syntax fejl i koden, men ingen grund til at rette dem førend vi ved om linierne skal bruges]
25. september 2004 - 22:24
#20
Bruger1 har ikke adgang til at se administratorens filer. Derfor skal der ændres et eller andet, så man kan kopirer dem.
25. september 2004 - 22:43
#21
Hvis brugeren ikke har adgang til filerne så kan de ikke kopieres. Punktum. Men det kan man slet ikke under FAT32.
25. september 2004 - 22:51
#22
kan man hellere ikke hvis jeg nu har passwordet til administrator brugeren ?
25. september 2004 - 22:52
#23
ups jeg har adgang til dem... sorry
25. september 2004 - 22:53
#24
Svar og pointsne er dine..
25. september 2004 - 22:56
#25
svar (Bertel skulle egentligt også have haft, men han plejer ikke at ville have)
25. september 2004 - 22:58
#26
bertel vil du også have ?
25. september 2004 - 23:06
#27
Nej tak.
Kurser inden for grundlæggende programmering