[LØST] copy i kommandolinje

13 innlegg i emnet

Skrevet

Hei!

Har et lite kopieringsproblem her. Prøver å ta backup av filer i kommandolinjen ved hjelp av xcopy. Men den vil ikke ta backup av filer som inneholder æøå, eller som har andre "kryptiske" tegn som eks ', \, ` osv...

Er der noen andre kopieringsprog/kommandoer jeg kan bruke til å få fikset dette? Men må være via kommandolinjen slik jeg kan lage en bat fil eller noe av det =) Har prøvd robocopy men virket ikke så mye bedre..

Takker for alle svar! =)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Hvis dette dreier seg om sikkerhetskopi har jeg noen forslag - men det er ikke sikkert at de virker.

XCOPY er fortsatt litt for mye "DOS-basert" - her henger mange av de gamle reglene igjen enda. At enkelte tegn ikke godtas er naturlig ( . : \ < > + osv.) - men æøå burde egentlig vært fikset.

Forslag 1:

Pakke filene samtidig med WinRAR eller WinZIP - i kommandolinjemodus fra en bat-fil ?

Syntax:

WinRAR <command> -<switch1> -<switchN> <archive> <files...> <@listfiles...> <path_to_extract\>

Her var det vrient å komme med eksempel siden jeg ikke kjenner oppgaven - men den starter med winrar a (a for add to archieve).

Akkurat på denne oppgaven kan det trolig være fordel å bruke @listfile istedenfor gjentatte kommandoer i bat-filen ?

Jeg nøyer meg med dette forslaget foreløpig. Denne er nesten like "smidig" som kopiering, og også omtrent like smidig å pakke ut igjen også. EN ulempe kan være at filer må pakkes ut før bruk (litt mindre smidig enn bare kopiering).

Gi beskjed hvis forslaget bommer stygt ?

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Det var ikke et dumt forslag dette. Nå håper jo jeg at disse spesielle tegnene er støttet når jeg bruker en bat fil (som vell egentlig kjører i dos..?).

Om jeg kunne fått et exempel på hvordan kommandoen hadde sett ut om jeg skulle kopiere noe fra en server, eks \\server1\data\fil.txt, dette skulle da til d:\backup\backup.rar. Men greia er det at jeg har mange filer som ligger på forskjellige lokasjoner så måtte blitt en sånn kommando for hver enkelt fil.

Sånn ser det ut med vanlig xcopy command:

XCOPY "\\server1\data\text.txt" "D:\backup" /C /H /Y >> "xcopy.log"

XCOPY "\\server1\data2\text2.exe" "D:\backup" /C /H /Y >> "xcopy.log"

XCOPY "\\server1\data3\text3.pdf" "D:\backup" /C /H /Y >> "xcopy.log"

Så må jeg da ha et utpakkingsscript...

Takker igjen for forslag =)

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Så det funker ikke å bruke *.*?

Det kan hende det er litt trøbbel med å bruke UNC uansett...

Script:

net use x: \\server1\d$

xcopy x:\*.* d:\backup\ /c /h /y >> d:\xcopy.log

net use x: /delete

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

*.* funker forsåvit dårlig når jeg har forskjellige filer i forskjellige mapper... Siden da kopierer du alt som er i en mappe tror jeg?

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

*.* funker forsåvit dårlig når jeg har forskjellige filer i forskjellige mapper... Siden da kopierer du alt som er i en mappe tror jeg?

Dette kan styres med "brytere", prøv xcopy /? for alle.

xcopy c:/hit/*.* /E /C

C:/hit/ menes ned til der du skal kopiere, alt der og under blir med.

Bryter E tar med mapper og undermapper, også tomme, Bryter S dropper tomme mapper.

Bryter C gjør at xcopy fortsetter selv om det oppstår feil.

Har ikke brukt xcopy på mange år, men mener bestemt at det kom melding om eventuelle feil.

Det er også en bryter N som "kopierer ved å bruke generert korte navn", den har jeg aldri forsøkt, som trolig løser slike problemer.

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Et annet forslag: xxcopy

Det er et kommandolinjebasert program som er noe mer avansert enn xcopy.

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Tror nok vår ekspert Morten kom med det beste forslaget for min del =) Ser ikke ut til at winrar bryr seg noe om hvilke filnavn som blir brukt æøå osv funker helt fint.

Har laget dette scriptet til dem som måtte trenge det:

"C:\Programfiler\WinRAR\WinRAR.exe" a -m5 -s -t "test.rar" @"include.txt"

"C:\Programfiler\WinRAR\WinRAR.exe" x test.rar *.* E:\testfolder

DEL test.rar

-forklaing:

"C:\Programfiler\WinRAR\WinRAR.exe" a -m5 -s -t "test.rar" @"include.txt"

- path til winrar | a (legger til et arkiv) -m5 (best kompresjon) -s (solid arkiv) -t (test arkiv) "test.rar"(arkivnavn) @"include.txt" (henter filene som skal ligge i arkivet fra en textfil kalt include.txt)

"C:\Programfiler\WinRAR\WinRAR.exe" x test.rar *.* E:\testfolder

pakker ut filene i arkivet test.rar til e:\testfolder

DEL test.rar

sletter akrivet test.rar

Altså må du lage en include.txt som du har gjerne i samme lokasjon som bat filen hvor alle filene du vil pakke ligger. Kan også lage en exclude.txt om du ønsker å ekskludere fra operasjonen.

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Så WinRAR var greit nok ?

Jeg har brukt (Win)RAR selv i mindre skala til sikkerhetskopiering istedenfor å bruke backup-løsninger - siden det er langt smidigere å pakke ut ting enkeltvis derfra. Vanligvis er det bare noen få filer man skal gjenopprette.

Pakkeprogrammer er NESTEN like smidig som å ha filene i mapper, bortsett fra at ting må pakkes UT IGJEN for ordinær bruk. Du kan riktigok pakke ut til temp-filer direkte i WinRAR, men det er ikke helt "ordinær bruk" som i en vanlig mappe.

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Jada, funka bra det.. Det som hadde vært gøy nå var jo om jeg fikk bat filen til å sjekke først om winrar var installert, vist det ikke var det printet den ut noe som "feil, finner ikke winrar". Vist C:\Program Files\WinRAR\WinRAR.exe eksisterte fortsatte den å kjøre resten av scriptet:

"C:\Programfiler\WinRAR\WinRAR.exe" a -m5 -s -t "test.rar" @"include.txt"

"C:\Programfiler\WinRAR\WinRAR.exe" x test.rar *.* E:\testfolder

DEL test.rar

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

IF exist bane:\winrar.exe echo WINRAR.EXE FOUND

Bat-filer bruker helt vanlig basic språk.

Nå "prater" ikke jeg så mye basic, men her går det an å finne ut mer av hjelpefil og slik.

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Det virket vertfall ganske bra en stund =) Men så oppdaget jeg at det mangler en del filer, er 949 filer, men bare 916 blir kopiert. Jeg tror dette er fordi de har komma i filnavnet. Greia er at disse ligger på en linux server, linux driter i filnavn, kan være så langt og inneholde så mange rare tegn det bare vil. Men så snart du prøver å håndtere disse filene med et Windows system går det ikke like greit. Så kanskje er eneste løsningen å ha en mellomstasjon som kopierer filene over på andre maskinen med Linux os.. Noen mening om dette?

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Linux-reglene var ukjente for meg, jeg prøvde å løse Windows-problemet.

Det er fortsatt NOEN regler som gjelder tegn i filnavn. Dette er stort sett de tegnene som betyr noe bestemt i en kommandolinje.

Linuxmå du nesten finne løsning på selv, alle de knepene jeg kjenner blir stoppet av tegn som er ugyldige. Det er bedre å løse Linux for seg selv enn å bruke delvise løsninger i Windows.

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!


Start en konto

Logg inn

Har du allerede en konto? Logg inn her.


Logg inn nå

  • Hvem er aktive   0 medlemmer

    Ingen innloggede medlemmer aktive