Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  5 655
Jeg skal lage et batchskript som kopierer filer fra 3 kataloger over til 3 andre kataloger. Det jeg ikke får til er backup dersom filene finnes fra før i målkatalogen. Dette skal kjøres på windows xp.

Jeg har mappene og filene;

ny\mod\*.mod
ny\kas\*.kas
ny\tel\*.tel

og

prod\mod\*.mod
prod\kas\*.kas
prod\tel\*.tel

Jeg ønsker at skriptet skal kopiere alle filer fra underskatalogene i ny til de samme underkatalogene i prod. Dersom filene finnes fra før skal skriptet kopiere de eksisterende filene til backup\%date%\ og de samme underkatalogene som finnes i prod og ny.


Kan noen hjelpe meg med dette?
Anbefaler deg å bruke xcopy til dette.

Du finner syntax overalt på nett. Et eksempel

Lykke til
xcopy er old, bruk Robocopy.

forøvrig har jeg laget noe lignende for et annet formål, paster direkte fra batchen så kan du se hva du finner og jobbe ut i fra det

FOR /F " tokens=* " %%f IN ('dir "targprod" /B /s') DO echo "%%f" "S%USERNAME%.%COMPUTERNAME%%%~pftargprod" /MIR /TBD /IS /Z

Krever at du er kjent med FOR\FOREACH\WHILE\LOOP bla bla ukeblad

edit: google etter "batch for" så finner du nok mange gode eksempler som du nesten kan kopiere rett ut av
Sist endret av Nenzo; 5. mai 2009 kl. 16:34.
Dette scriptet gjør nøyaktig det du ønsker. Det tar utgangspunkt i at mappene [COLOR="Blue"]NY[/COLOR] og [COLOR="#0000ff"]PROD[/COLOR] ligger i roten på C:, men dette endrer du på som du vil.

Kode

@ECHO OFF
setLocal EnableDelayedExpansion

:: MOD
FOR /F "tokens=* delims= " %%a in ('dir /b /a-d C:\ny\mod') do (
IF NOT EXIST C:\prod\mod\Backup\%date% md C:\prod\mod\Backup\%date%
move C:\prod\mod\%%a C:\prod\mod\Backup\%date%
)
XCOPY C:\ny\mod\*.mod C:\prod\mod /Y

:: KAS
FOR /F "tokens=* delims= " %%a in ('dir /b /a-d C:\ny\kas') do (
IF NOT EXIST C:\prod\kas\Backup\%date% md C:\prod\kas\Backup\%date%
move C:\prod\kas\%%a C:\prod\kas\Backup\%date%
)
XCOPY C:\ny\kas\*.kas C:\prod\kas /Y

:: TEL
FOR /F "tokens=* delims= " %%a in ('dir /b /a-d C:\ny\tel') do (
IF NOT EXIST C:\prod\tel\Backup\%date% md C:\prod\tel\Backup\%date%
move C:\prod\tel\%%a C:\prod\tel\Backup\%date%
)
XCOPY C:\ny\tel\*.tel C:\prod\tel /Y

PAUSE
Trådstarter
7 0
Takker for svar!

Tester ut skriptet ditt nå Jh
Trådstarter
7 0
Det ser ut som dette er løst! Takk for hjelpen!