Avatar billede broegaard Nybegynder
07. november 2002 - 12:16 Der er 7 kommentarer og
1 løsning

alternativ til xcopy /m /s "*.*" "upload\*.*"

Jeg har end til nu kunne klare mig med en bat fil der indeholde denne dos komando:
xcopy /m /s "*.*" "upload\*.*"
Men efter at jeg har fået Win XP SP1 vil den ikke tillade den komando bliver kørt så nu er jeg på skideren.

Jeg bruger komandoen til når jeg laver hjemmesider så jeg kun skal uploade de filer der er blevet ændret og ikke hele siden.

Når man ændre en fil blive attributen arkiv sat til true og så skal jeg bruge et program der kan kopiere alle de filer hvor attributen arkiv er sat til true og selvfølgelig bevare mappe strukturen samt fjerne alle arkiv attributerne til sidst.

Jeg håber at der er nogen der kan hjælpe mig med mit problem. Jeg har slet ingen erfaring med C programmering men mener dog stadig at det er her problemet skal løses, hvis ikke så sig lige hvilket sprog der så skal bruges.

På forhånd tak

Kasper
Avatar billede soepro Nybegynder
07. november 2002 - 12:32 #1
Hvad med at checke Windows Scipting Host først ? Der må da findes faciliteter analoge til XCOPY under XP også - har du prøvet at se hvad den alm. COPY funktion kan ?
Avatar billede broegaard Nybegynder
07. november 2002 - 12:39 #2
Jeg arbejdet (meget) lidt med WSH men jeg synes ikke jeg kunne finde noget. Er det ikke muligt at lave i C/C++?
Avatar billede soreno Praktikant
07. november 2002 - 12:45 #3
Hvis du kan "nøjes" at sammenligne tidspunkter, kan du bruge total commander til at gøre det, se:
www.ghisler.com
Avatar billede kamikaze Nybegynder
07. november 2002 - 16:25 #4
Jeg kan ikke finde den attribut du kalder 'aktiv'. Kan kun finde flg.:
typedef struct _WIN32_FIND_DATA { // wfd
    DWORD dwFileAttributes;
    FILETIME ftCreationTime;
    FILETIME ftLastAccessTime;
    FILETIME ftLastWriteTime;
    DWORD    nFileSizeHigh;
    DWORD    nFileSizeLow;
    DWORD    dwReserved0;
    DWORD    dwReserved1;
    TCHAR    cFileName[ MAX_PATH ];
    TCHAR    cAlternateFileName[ 14 ];
} WIN32_FIND_DATA;
Avatar billede kamikaze Nybegynder
07. november 2002 - 16:28 #5
Så kunne man selvfølgelig lave et program der sammenligner LastWriteTime i begge mapper, men det tager nu noget tid at lave....

Der er nok nogen der har et bedre forslag....
Avatar billede soreno Praktikant
07. november 2002 - 16:29 #6
kamikaze>>
det er fordi der står "arkiv" :-)
filens attribut findes med:
DWORD GetFileAttributes(
    LPCTSTR lpFileName     // address of the name of a file or directory 
);

og så "spørge" om FILE_ATTRIBUTE_ARCHIVE er sat.
Avatar billede doctorseb Nybegynder
07. november 2002 - 16:58 #7
Hejsa,

Det virker umiddelbart som lidt overkill at skrive et helt program til den smule, eller..? Kan du ikke bare sørge for at dit upload-katalog ikke ligger under dit source-katalog (det er derfor xcopy fejler). Hvis du f.eks. har strukturen "c:\my_homepage\html\upload" så flyt "upload" til "c:\my_homepage\upload". Så virker xcopy igen.

Held og lykke,
doctorseb
Avatar billede broegaard Nybegynder
07. november 2002 - 21:27 #8
Jeg takker for alle inslagene.
Jeg havde slet ikke opdaget at det kunne gøres så simpelt. Så nu bliver komandoen:
xcopy /m /s "*.*" "..\upload\*.*"
og så virker det.
Endnu en gang tak.
Kasper
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