Avatar billede fhansen82 Mester
26. november 2011 - 17:21 Der er 33 kommentarer og
1 løsning

BAT fil til kopiering af filer som er ændret

Hej alle

Jeg pusler med at lave en .BAT fil, som kan kopiere filer mellem PC'er. Det er samme bibliotek som kopieres fra, men der tilføjes jævnligt nye filer hertil, samt at filer bliver udskiftet eller ændret. Så jeg vil gerne have en .BAT fil som kopiere filer som er påvirket af disse kriterier. Da biblioteket er ret stort, vil jeg gerne, at filer som allerede ligger i distinationsbiblioteket ikke kopieres, altså medmindre de har en nyere "sidst ændret" dato. Så første gang skal .BAT filen selvfølgelig kopiere alle filer, da destinationsbiblioteket er tomt, men ellers kun ændrede og nye filer.
Har prøvet at søge lidt på nettet. Er det kommandoen /D:m-d-y der skal bruges?
Avatar billede danco Nybegynder
26. november 2011 - 18:39 #1
Jeg tænker, var dropbox ikke en mulighed?
Den klarer det jo for dig.
Avatar billede fhansen82 Mester
26. november 2011 - 19:21 #2
Det er et udemærket forslag, men jeg vil døje med pladsmangel hurtigt. Jeg er ikke interesseret i at skulle betale en månedlig ydelse for den større mængde plads. Jeg har biblioteket på en netværks HDD, og derfra vil jeg så kopiere filerne ud på enhederne.
Avatar billede Slettet bruger
26. november 2011 - 19:39 #3
Mener det er xcopy hvor /D har den betydning - altså uden parametre - men det kan ses ved at udføre xcopy med /? argumentet.

Eller er det robocopy, der er tidens svar til mere specialisere backup/kopiering scripts

http://en.wikipedia.org/wiki/Robocopy
Avatar billede fhansen82 Mester
26. november 2011 - 20:26 #4
Fik ikke skrevet, at filer som fjernes i biblioteket der kopieres fra, også skal fjernes fra distinationsbiblioteket.
Avatar billede fhansen82 Mester
26. november 2011 - 20:37 #5
@brugerekspert: Med parametre, mener du så :m-d-y ?
Avatar billede Slettet bruger
27. november 2011 - 00:30 #6
Ja -  de fremgår også af:
xcopy /?

Den sammenhæng mellem filers eksistens du er inde på omtales som mirror option i robocopy - den alene kan klare det.
Avatar billede fhansen82 Mester
27. november 2011 - 10:10 #7
Det vil sige der bliver lavet en spejling af biblioteket?
Bygges robocopy som en BAT fil også? Altså så istedet for XCOPY så benyttes robocopy? Eller foregår det på en helt anden måde?
Avatar billede fhansen82 Mester
27. november 2011 - 11:14 #8
Nå, fandt lige svaret på nettet. Det er som XCOPY og så bare med /MIR. Prøver at lege med dette.
Avatar billede fhansen82 Mester
27. november 2011 - 12:13 #9
Har prøvet at få ROBOCOPY til at virke, men uden held. Her er hvad jeg har prøvet:
---
@echo off
color a
ROBOCOPY "\\192.168.0.1\hd_samsung_hm500ji\Musik\Ny musik\Copy test\*.*" "C:\Users\Frank\Desktop\Copy test"
pause

Får bare sort skærm
---
@echo off
color a
ROBOCOPY c:\test\*.* "C:\Users\Frank\Desktop\Copy test"
pause

Får igen sort skærm
---
Jeg kan fint få kopieringen til at virke med XCOPY. Hvad gør jeg galt?
Avatar billede Slettet bruger
27. november 2011 - 13:13 #10
xcopy og robocopy er kommandolinie programmer - dvs. de udfører et job uden at der fremkommer noget vindue og de afslutter med jobbets udførelse. Man kan finde dem i filsystemmet som xcopy.exe og robocopy.exe. Den yderligere specifikation af jobbet fremgår af argumenterne til jobbet - argumenterne er det der står efter selve programnavnet på en linie. Denne linie kan være en linie i en bat fil eller en linie i et kommandofortolker vindue.
En kommandofortolker er også et 'kommandoprogram', men har ekstra feature at den har et tekstbaseret vindue 'til sig selv' - man kan udføre kommandoer ved direkte at skrive dem.

Prøv: windowstast+R og skriv: cmd (og tast return)

Det vindue der åbner tilhører kørslen af C:\WINDOWS\system32\cmd.exe (placereing er systemafhængigt)
Fra dette vindue kan alle programfiler på computeren udføres. Desuden kan cmd's interne kommandoer udføres - copy er en af dem og hele bat afviklings sproget er også indbygget i cmd

Det der sker når man kører en bat fil er at cmd.exe snupper linierne en af  gangen (i linienummer orden) og afvikler dem.

Prøv at skrive

xcopy /?

På mit system har jeg ingen /mir option til xcopy, men da xcopy er et program der følger med windows, kan det være windows version afhængigt

Måden at lave og sideløbende teste bat filer på, er at udføre dem fra et cmd console vindue - på den måde ses fejlmeddelelser - men man kan også indsætte pause som jeg ser du gør i #9

I forlængelser af #9 - tror ikke at du har robocopy på dit system - som wikipedia linket i #3 fortæller, tilhører den 'Windows Resource Kit' - skal downloades. (installationsfilen hedder rktools.exe - jeg kan godt ligge en kopi et tilgængeligt sted hvis du ønsker det)

Hvorvidt du har robocopy på dit system fremgår når du skriver robocopy /? i et console vindue - i afkræftende fald fås standard svaret: 'whatever blev ikke genkendt som en intern eller ekstern kommando, et program eller en batchfil.'
Avatar billede fhansen82 Mester
27. november 2011 - 15:12 #11
Ahh, prøver jeg lige senere når jeg er tilbage på adressen.
Avatar billede fhansen82 Mester
27. november 2011 - 16:38 #12
Der er Robocopy på. Det havde jeg egentligt også set tidligere, ved hjælp af samme fremgangsmåde som du beskrev. Kunne bare ikke huske det i forvirringen. Så hvorfor dulen da vil det ikke virke. Når xcopy virker fint, burde robocopy da også virke.
Avatar billede fhansen82 Mester
27. november 2011 - 16:40 #13
Xcopy har ikke /MIR funktionen. Kun Robocopy. Skide smart i mit tilfælde :O) Hvis altså jeg bare kunne få det til at virke ;O)
Avatar billede fhansen82 Mester
27. november 2011 - 17:20 #14
Kigger lidt på WinRoboCopy som egentligt fungerer på samme måde uden at man skal lave BAT filen.
Avatar billede fhansen82 Mester
27. november 2011 - 17:47 #15
Nå, af uransagelige årsager, har jeg nu fået Robocopy til at virke. Af en eller anden grund, skal der efter Robocopy stå .exe. Mærkeligt.
Avatar billede fhansen82 Mester
28. november 2011 - 18:30 #16
Super spas at lege med programering igen. Mange mange år siden. Jeg regner med at lave det sådan, at .BAT filen starter op sammen med Windows, som spørger om man ønsker at foretage en synkronisering. Det hele skulle være klart, så nu leger jeg bare, og så skal jeg teste programmet :O)
Er der nogle der kan fortælle mig hvordan jeg kan rykke teksten ind, således teksten bliver vist længere inde i vinduet, istedet for at den står helt ude til venstre.
Det drejer sig en en CHOICE-kommando som spørger om jeg ønsker at starte synkroniseringen.
@brugerekspert: Super cool henvisning til ROBOCOPY. Fed feature som jeg har søgt længe, Så den skal du nok få point for. Lige nu leger jeg som sagt bare :O)
Avatar billede fhansen82 Mester
02. december 2011 - 16:13 #17
Jeg har nu fået bygget en batch fil med menusystem, og endte med at benytte ROBOCOPY. Savner bare at vide, hvordan man kan rykke på teksten, så man selv bestemmer hvor på skærmen vertikalt den står. Men brugerekspert, smid et svar for din løsning.
Avatar billede fhansen82 Mester
02. december 2011 - 17:01 #18
Kunne også godt tænke mig at vide hvordan jeg skriver æøå/ÆØÅ. Har ikke kunnet finde løsningen der virker på nettet.
Avatar billede Slettet bruger
02. december 2011 - 20:21 #19
Ved at anvende en genvej til cmd.exe, der så med afsluttende /K dinbatfil.bat i egnskaber->genvej->destination starter afviklingen af batfilen er det muligt at bestemmer en række layout ting som skærmstørrelse, placering, farver, font mm. - sættes altsammen i egenskaber for genvejen.
Er det i dit menusystem, hvor æøå driller? Jeg har ingen erfaring med den slags - har aldrig lavet en interaktiv batfil.
Mht. fil og mappenavne bør det kunne bringes til at virke med æøå - hvis det er codepage misforståelse, så prøv at redigere batfilen vha. den gamle 'dos editor': edit.com (som iøvrigt i dag er en exe fil - bærer 'MZ' header - ttp://en.wikipedia.org/wiki/Mark_Zbikowski
Avatar billede fhansen82 Mester
02. december 2011 - 21:51 #20
Det første du skriver om, er det ikke det samme som hvis man bare opretter en genvej til batchfilen? Her kan man også ændre font, farver, str., placering, osv.?
Men det jeg er interesseret i, er hvordan jeg rykke fx. en tekst skrevet ud for kommandoen CHOICE, længere ind i skærmbilledet, altså rykke teksten mere ud mod højre, ligesom man i et tekstdokument bare ville lave mellemrum for at rykke teksten længere til højre.
Det er gennem hele batchfilen, at æøå driller. Når jeg skriver æøå, så bliver der skrevet nogle andre tegn istedet. De løsninger jeg har fundet på nettet har ikke fungeret.
Hvis du tænker på om jeg har problemer med stinavne med æøå, så har jeg endnu ikke testet dette. Det kunne være jeg skulle gøre det. Er det korrekt forstået?  Jeg er lidt lost på hvad du snakker om her til sidst. Ved hvad EDIT er, men forstår ikke hvad jeg skal :O) Sorry
Avatar billede fhansen82 Mester
02. december 2011 - 23:10 #21
Hold fest hvor kan ROBOCOPY meget. Men kan man blive promtet og spurgt hvad mappenavnet skal hedde med en prædifinering til at starte med. Ex: Jeg vil gerne lave en kopi at en mappe som backup. Jeg angiver en dato for hvornår der er taget backup af mappen i mappenavnet. Så hvis mappenavnet er Musik, så ville det være smart hvis man kunne blive promtet og spurgt: Hvad skal destinationsmappen hedde?: Musik
Og så fylder man selv datoen ind? Eller hvis ROBOCOPY også selv kan finde ud af det, ville det da heller ikke være dumt.
Avatar billede fhansen82 Mester
02. december 2011 - 23:14 #22
Glemte at skrive, at jeg selv vil kunne bestemme måden datoen skrives på: ÅÅÅÅ-MM-DD
Avatar billede fhansen82 Mester
02. december 2011 - 23:30 #23
Har lige læst mig frem til, at man ikke længere kan benytte Edit. Det findes ikke længere, da det er et 16bit program, som ikke kan køre på 64bit system...som jeg kører, hmm (Win7, 64bit).
Avatar billede fhansen82 Mester
02. december 2011 - 23:43 #24
Hmm, mon dette er vejen frem for mig. Bare ikke så fremtidssikret, at jeg skal benytte et gammelt styresystem for, at få det til at virke.

http://it-experts.dk/forums/p/264/918.aspx#918
Avatar billede fhansen82 Mester
03. december 2011 - 00:05 #25
Har nu forsøgt mig med en anden metode. Har indsat kommandolinien CHCP 1252 i batchfilen. Dette gør at ROBOCOPY kan læse æøå, men til gengæld, står æøå nu forkert i fortryk tekst, fx. Tryk põ en vilkõrlig tast for at fortsutte (u'et er et specialtegn, der ikke er på DK keybord).
Sjovt nok tror jeg at den gyldne løsning, selvom det er skidebesværligt er, at bruge det korte filnavn for filnavnet, så C:\Kælde bliver C:\Klde~1
Det virker. Selve filer hvor der er benyttet æøå i filnavn, er der ingen problemer med at kopiere, mærkeligt nok. Kan være der er en logisk forklaring?
Hel alternativt skal jeg undelade helt at benytte æøå i min mapper og filer. Bare et irritationsmoment.
Avatar billede Slettet bruger
03. december 2011 - 01:01 #26
Du har helt ret i at en genvej til en bat fil er den letteste løsning på indstilling af forskellige ting.

Det er mange år siden jeg anvendt choice og bliver nu klar over at den ikke findes i windows XP som jeg anvender. Jeg tror ikke den kan  have foranstilt mellemrum (eller anden indrykning. Hvad med at bruge echo og undlad tekst i choice - eller måske dens afløser set /P (ved ikke om det gør nogen forskel)

Indrømmet - det kan godt være en ting man uvilligt bliver nød til at tage op, det, at få en editor til at gemme i et givent tegnsæt.
Avatar billede fhansen82 Mester
03. december 2011 - 13:37 #27
Tror du det ville løse sig ved at benytte en dedikeret editor? Findes der nogle gode gratis løsninger?
Avatar billede Slettet bruger
03. december 2011 - 19:59 #28
Det med tegnsæt er også noget der driller mig - googlede lige denne:

http://www.joelonsoftware.com/articles/Unicode.html

Der findes en masse gratis editorer - men det kan jo hurtigt tage lang tid at rode med!

http://en.wikipedia.org/wiki/List_of_text_editors

Jeg mener ikke at du absolut behøver en anden editor, blot at det er vigtigt at få styr på hvilke tegnsæt der anvendes og hvordan det kringles - skulle ikke undre mig om notepad på win 7 selv kan autodetekte tegnsæt - men det kræver så en kildefil som på forhånd har det rigtige tegnsæt - hvis man opretter en ny fil må den nødvendigvis falde tilbage til noget standard. (gætteri fra min side - jeg anvender XP)

Halvdelen af problemmet har at gøre med at du vil lave GUI i bat filer; den slags jeg kun kender fra installationsscript i slackware linux - ting der skal tilbyde brugervalg på et meget skrabet system før noget er blevet installeret. På et fuldblown win7, er der strengt taget bedre værktøjer - indbygget (vbscript) og utallige til gratis download

Men det er da meget interessant at få vendt hvilke muligheder der er i det.

Jeg synes også at nogle batfiler lidt er en 'administrations-ting' - det behøver ikke se kønt ud og sprogetvalget engelsk, uden dets æøå, passer fint. 

Jeg har snesevis af batfiler til forskelligt, ikke én foretager i sin kørsel selektion på basis af andet end kommadolinie argumenter, error nummer, indholdet i filsystemet eller environment variabler.

Det var så bare min mening
Avatar billede fhansen82 Mester
04. december 2011 - 21:21 #29
Hvordan lærer man nemt VBscript. Står over for snarligt at begynde en Datateknikker uddannelse, og kunne godt tænke mig at forberede mig lidt. Er der nogle gode danske guides? Jeg er helt noob hvad vbs angår.
Avatar billede Slettet bruger
05. december 2011 - 20:47 #30
Nu tar emnet en drejning mod programmering snarere end løsning. At hacke scripts sammen, er for at løse noget konkret - lidt administrativt.
Hvis det er for at programmere så se hellere på et rigttigt programmeringssprog. F.eks dotnet (c#)
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
Avatar billede fhansen82 Mester
05. december 2011 - 20:57 #31
Hæ hæ, ja løsningen er fundet for det oprindelige spørgsmål. Lige nu arbejder jeg videre på min batch fil og bruger den. Dropper at finde en løsning på æøå som ikke er der :O) Fifler det på en anden måde.
Jeg ved at der benyttes en del vbs på mit job, hvor jeg også starter uddannelse snarligt. Derfor ville jeg gerne lære lidt om vbs. Tænkte at det måske også var en fremtidig erstatning for mit lille batchprogram :O)
Avatar billede fhansen82 Mester
07. december 2011 - 21:35 #32
Følger lige op på tidligere spørgsmål. Er det muligt at få ROBOCOPY til at kopiere en kildemappe til en distinationsmappe hvor også dags dato ud over mappenavnet angives. Og dertil, kan dato angives som åååå-mm-dd?

Så resultatet ville være:
Kilde: C:\test
Distination: C:\test 2011-12-07
Avatar billede fhansen82 Mester
15. december 2011 - 19:45 #33
Bump
Avatar billede Slettet bruger
18. december 2011 - 00:49 #34
Jeg aner ikke om ROBOCOPY kan hvad du spørger efter - du har sidst arbejdet med den og kigget på dens muligheder! - men jeg tror det ikke, der skal netop udføres noget strengbehandling for at få det rette mappenavn -  og her kommmer vbs ind i billedet som afløsning af batch filen.
Jeg kender ingen bøger om vbs - manuellen kan downloades her:

http://code.google.com/p/mvod/downloads/detail?name=VBSCRIP5.CHM

Jeg kender ikke til nogle gode udviklingsværktøjer til at skrive vbs  filer i. Et godt udviklingsværktøj er noget der ud over syntax highligtening også tilbyder name completion, debug mulighed med breakpoints, watches og stack backtrace ved error.
Microsoft har, ikke overraskende, et købeprodukt - aner intet om det.
Det er let at finde en editor med syntax highligtening - resten må man nok undvære.

At erhverve sig duelighed i vbs har to sider:

1. At kunne finde rundt i manuellen - kender lidt til de objekter man får brug for til forskellige opgaver og deres methods og properties. Meget kan findes i tutorials på nettet - ønsker man f.eks at åbne en tekstfil, finder man et eksempel på nettet og får kendskab til de objekter der skal i spil.

2. Sprogkonstruktionen. Her kan det være meget godt med en bog - søg på bibliotek.dk Er man i besiddelse af office kan man få sprogkonstruktionen ind under huden ved at lære vba vha. den tilhørende vba-editor (i excel/ms-access/word) - den er nemlig fuldblown med alt ting. vbs og vba er to forskellige ting men lighederne er store. Tilsvarende med vb og visual studio - hvis man kan komme i nærheden af sådan noget.
asp er vbscript (vbs) så her er måske også noget at hente - hvis man lige kan se uden om alt det html snavs ;)

Nok om det - jeg tror det er mange år siden Microsoft forlod tanken om at vbs som afløser af batch scripts.

Den rolle har derimod powershell fået - nok mest når det går på administrative jobs.

http://en.wikipedia.org/wiki/Windows_PowerShell

Det er angiveligt integreret i windows 7

Jeg synes det STÆRKT - det er virkeligt et interessant og kraftfuldt begrebsapperat der er udrullet her. Alene for oplevelsen af det er det værd at snuse til!
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