scharff Juniormester
20. marts 2019 - 14:16 Der er 25 kommentarer og
2 løsninger

Dos fil

Hej
Jeg ville lave en bat fil der kan kopiere mapper med C til en anden mappe og omdøbe den til T i en kommandoprompt.

Eks.: C: \ a \ dmc \ C24117 til C: \ b \ dmc \ T24117

I mappen C: \ a \ dmc \ er der også mapper og filer, der ikke starter med bogstavet C, de skal ikke kopieres.

pft.
sidwave Ekspert
20. marts 2019 - 15:03 #1
ikke forstået. den linie er ikke en copy command.
hvis du vil undgå filer med C skal du lave en $variabel og undgå den
claes57 Ekspert
20. marts 2019 - 15:27 #2
1) kopier
2) omdøb
xcopy c:\a\dmc\c*.* c:\b\dmc /s
ren c:\b\dmc\c*.* t*.* /s

jeg ved ikke lige, om ren kan have /s
har valgt xcopy, da den er mere effektiv ved mange/store filer (copy tager en fil ad gangen, xcopy tager alt, som den har ram til pr gang)
scharff Juniormester
21. marts 2019 - 06:49 #3
Hej claes57
Det virker ikke ?
C:\CNC>xcopy c:\a\dmc\c*.* c:\b\dmc /s
File not found - c*.*
0 File(s) copied
claes57 Ekspert
21. marts 2019 - 07:54 #4
så er der nok ingen filer, der starter med c ifølge xcopy
scharff Juniormester
21. marts 2019 - 08:18 #5
Nej der er ingen filer, men der er mapper der starter med c
claes57 Ekspert
21. marts 2019 - 08:28 #6
Så test samme kommandolinje med copy i stedet for xcopy.
scharff Juniormester
21. marts 2019 - 08:52 #7
Virker desværre heller ikke

copy c:\a\dmc\c*.* c:\b\dmc /s
The system cannot find the path specified.
claes57 Ekspert
21. marts 2019 - 11:15 #8
så rækker mine dos-kundskaber ikke længere, beklager...
RogerWilco Mester
25. marts 2019 - 18:33 #9
Prøv dette:

@echo off
set src=c:\a\dmc
set dest=c:\b\dmc
setlocal enabledelayedexpansion
for /f %%i in ('dir %src%\c*.* /ad /b') do (
  xcopy %src%\%%i\*.* %dest%\%%i /s /i
  ren %dest%\%%i t!%%i:~1!
  )
scharff Juniormester
25. marts 2019 - 19:50 #10
det virker det med at kopiere :-)
men rename virker ikke, mappen kommer bare til at blive til t~1
mappen c24117 skal blive til t24117
RogerWilco Mester
26. marts 2019 - 07:55 #11
@echo off
set src=c:\a\dmc
set dest=c:\b\dmc
setlocal enabledelayedexpansion
for /f %%i in ('dir %src%\c*.* /ad /b') do (
  xcopy %src%\%%i\*.* %dest%\%%i /s /i
  set dname=%%i
  ren %dest%\%%i t!dname:~1!
  )
rogerrabbit Seniormester
26. marts 2019 - 09:06 #12
xcopy C:\a\ dmc\C*.* C:\b\dmc\T*.*

Jeg har lige testet i en windows 10 commando prompt, både med  copy og xcopy.
Det virker fint.


/s så tager den under biblioteker med

@Claes i #2, jeg mener du glemmer \ *.* i dit target under kopieringen, så vidt jeg kan se kommer du til at kopiere til en fil der hedder dmc i biblioteket b.
Det kan være jeg tager fejl / husker forkert

hvis du vil kopiere alle filer fra et bibliotek til et andet skal den hedde:
copy c:\test\*.* c:\hest\*.*
scharff Juniormester
26. marts 2019 - 09:55 #13
rogerrabbit
kopiere virker som det skal, det er rename der ikke virker ?
rogerrabbit Seniormester
26. marts 2019 - 10:28 #14
hmmm, det virker fint hos mig.

Jeg har forsøgt at lave et "outout" så du kan se det.
og som du kan se kopierer og omdøber den i en kommando.

Volume in drive C has no label.
Volume Serial Number is 90CF-B78F

Directory of C:\a\dmc

26-03-2019  10:18    <DIR>          .
26-03-2019  10:18    <DIR>          ..
26-03-2019  10:17                6 C24117.txt
26-03-2019  10:18                0 output.txt
              2 File(s)              6 bytes
              2 Dir(s)  20.024.954.880 bytes free


Volume in drive C has no label.
Volume Serial Number is 90CF-B78F

Directory of c:\b\dmc

26-03-2019  10:16    <DIR>          .
26-03-2019  10:16    <DIR>          ..
              0 File(s)              0 bytes
              2 Dir(s)  20.023.586.816 bytes free


C:\>xcopy c:\a\dmc\C*.* c:\b\dmc\T*.*

C:\a\dmc\C24117.txt
1 File(s) copied

Volume in drive C has no label.
Volume Serial Number is 90CF-B78F

Directory of c:\b\dmc

26-03-2019  10:21    <DIR>          .
26-03-2019  10:21    <DIR>          ..
26-03-2019  10:17                6 T24117.txt
              1 File(s)              6 bytes
              2 Dir(s)  20.026.920.960 bytes free
rogerrabbit Seniormester
26. marts 2019 - 11:04 #15
Lige øjeblik,
har jeg misforstået opgaven?

er det i a eller b biblioteket filerne skal omdøbes?

Hvis du vil kopiere fra a til b, og så omdøbe filerne i a, skal du bruge 2 kommandoer som i #2.

xcopy c:\a\dmc\C*.* c:\b\dmc\*.*
ren c:\a\dmc\C*.* c:\a\dmc\T*.*
rogerrabbit Seniormester
26. marts 2019 - 11:08 #16
Måske du lige skulle prøve at kopiere nogle filer over i et test bibliotek og lege med.
scharff Juniormester
26. marts 2019 - 11:21 #17
Det er ikke filer der skal omdøbes, kun mapper 😉
rogerrabbit Seniormester
26. marts 2019 - 15:42 #18
OKay så :)

Den er lidt sjovere :)

jeg prøver lige at lege lidt.
jeg er først tilbage på torsdag :(
scharff Juniormester
26. marts 2019 - 16:31 #19
RogerWilco
Er det muligt at flytte istedet for at kopiere ?

@echo off
set src=c:\a\dmc
set dest=c:\b\dmc
setlocal enabledelayedexpansion
for /f %%i in ('dir %src%\c*.* /ad /b') do (
  xcopy %src%\%%i\*.* %dest%\%%i /s /i
  set dname=%%i
  ren %dest%\%%i t!dname:~1!
  )
scharff Juniormester
26. marts 2019 - 17:55 #20
Eller hvis man bare kan slette mapper med C ? så ville det også være en løsning
RogerWilco Mester
27. marts 2019 - 08:34 #21
Det burde så bare være:

@echo off
set src=c:\a\dmc
set dest=c:\b\dmc
setlocal enabledelayedexpansion
for /f %%i in ('dir %src%\c*.* /ad /b') do (
  move %src%\%%i %dest%
  set dname=%%i
  ren %dest%\%%i t!dname:~1!
  )
scharff Juniormester
27. marts 2019 - 15:41 #22
Der sker noget underligt der er 1 mappe den tager filerne ud af hver gang jeg bruger move command der er 5 andre mapper som bliver flyttet som de skal....

Kan man bare lave en command så man sletter de mapper der starter med C ?
så kan jeg bare bruge xcopy det virker hver gang :-)
RogerWilco Mester
27. marts 2019 - 20:53 #23
Det lyder underligt, hvis sådan bare lige udelader en mappe. Har du den pågældende mappe åben i stifinderen (eller andre programmer), eller er der underlige bogstaver (æøå eller udenlandske tilsvarende) i mappe- eller filnavne?

Hvis man skal bruge xcopy med efterfølgende sletning af mappe, kunne det se således ud:

@echo off
set src=c:\a\dmc
set dest=c:\b\dmc
setlocal enabledelayedexpansion
for /f %%i in ('dir %src%\c*.* /ad /b') do (
  xcopy %src%\%%i\*.* %dest%\%%i /s /i
  set dname=%%i
  ren %dest%\%%i t!dname:~1!
  rd %src%\%%i /s /q
  )
rogerrabbit Seniormester
28. marts 2019 - 10:08 #24
Godt I har fundet en løsning :)

Og jeg er helt enig i at move er bedre at bruge, hvis de gamle biblioteker alligevel skal slettes.

Jeg har leget lidt med xcopy, men har heller ikke fået det til at virker på biblioteker :(
scharff Juniormester
28. marts 2019 - 21:36 #25
RogerWilco
du er for sindsyg til det............ :-) :-) :-) Tak
scharff Juniormester
05. april 2019 - 10:28 #26
RogerWilco
Jeg ville bare høre dig om det er besværligt at få den til at kunne gøre det samme med mapper med mellemrum ?
Eks.: C: \ a \ dmc \ C24117 Hans til C: \ b \ dmc \ T24117 Hans

pft.
RogerWilco Mester
19. april 2019 - 10:49 #27
Ups, jeg glemte vist at besvare denne - prøv nedenstående:

@echo off
set src=c:\a\dmc
set dest=c:\b\dmc
setlocal enabledelayedexpansion
for /f "delims=§" %%i in ('dir "%src%\c*.*" /ad /b') do (
  xcopy "%src%\%%i\*.*" "%dest%\%%i" /s /i
  set dname=%%i
  ren "%dest%\%%i" "t!dname:~1!"
  rd "%src%\%%i" /s /q
  )
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

Opret Preview

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





Premium
Dansk iværksætter står bag et af Europas hurtigst voksende it-selskaber: Her er hele historien om hans op- og nedture
Det danske it-selskab Anytech365 leverer så høje vækstrater, at det er kommet med på Financial Times liste over de hurtigst voksende virksomheder i Europa. Her er historien om den danske iværksætter Janus Rægaard Nielsen, der har to konkurser bag sig og leder virksomheden fra Marbella.
Computerworld
Overblik: Så meget betaler danske virksomheder i løn til it-medarbejderne - se listerne her
Overblik: Der er meget stor forskel på løn-niveauet for it-medarbejderne i de danske virksomheder. Få overblikket over, hvor lønnen er højest og lavest her.
CIO
SAP's nye nordiske direktør: "De seneste uger har jeg besøgt en del kunder her i Norden - og alle talte om at vende tilbage til en eller anden form for standard."
Det store ryk til cloud brød med mange års it-konsolidering og skabte komplicerede it-miljøer. Men nu peger kundernes kompas den anden vej, fortæller erfaren SAP-boss efter nordisk rundrejse.
White paper
Hvad gør du? Printsikkerhed er en trussel for din virksomhed!
Du tænker nok: Er printere virkelig så stort en sikkerhedstrussel? På mange måder ja, for i en tid med konstante angreb, er en printer et nemt og ofte overset mål. Blandt andet viser undersøgelsen i dette whitepaper, at der er 68% større sandsynlighed for at printere er kilden til en ekstern trussel eller brist, end der var i 2016, og hele 118% større sandsynlighed for sker internt. Med dette in mente er det overraskende, at kun 30% af de adspurgte it-professionelle anerkender at printere udgør en sikkerhedsrisiko. Læs dette whitepaper og bliv klar over hvad det er du skal være opmærksom på.