Kopiowanie w bacie


(komercyjnefy@gmail.com) #1

Chcę skopiować folder razem z plikami w środku, jednak gdy używam komendy kopiuje się tylko plik.

Wiem że był już tutaj taki temat jednak nie dał mi on odpowiedzi.

Mój kod:

@echo off
xcopy folder\plik kopia\ /E /I /Y
echo kopjuje
pause>nul

Mam 2 foldery

1 Folder\plik\test.txt

2 kopia

Zawsze po wykonaniu tej komendy wyżej kopiuje się tylko test.txt.

Znalazłem odpowiedź. Coś takiego pomogło:

@echo off
set z=folder
set p=kopia\
xcopy %z% %p% /y /e /s
echo kopjuje
pause>nul

Natrafiłem na kolejny problem... :smiley:

Nie wiem jak zmienić nazwę folderu w pętli.

Kod:

@echo off
:Podstawowe_paramety
set MB=Wzor\4MB
set p=MMP
:loop
cls
set g=0
if "%g%=="10" goto end
set /a g=%g%+1
xcopy %MB% %p% /y /s /e
rename "MMP\4MB" "MMP\4MB%G%"
goto loop
:end
echo ============
echo =Skopiowane=
echo ============
pause>nul

Poprawiłem kod i samo kopiowanie działa tylko że ja che mieć wiele folderów z tym samym plikiem. A żeby Windows ciągle nie zastampiał tego samego muszę zmienić nazwę ...

Kod:

@echo off
:Podstawowe_paramety
set MB=Wzor\4MB
set p=MMP
set g=0
:loop
cls
if "%g%"=="10" goto end
set /a "g"="%g%+1"
xcopy %MB% %p% /y /s /e
rename "MMP\4MB" "MMP\4MB%G%"
goto loop
:end
echo ============
echo =Skopiowane=
echo ============
pause>nul

:smiley:

Znowu sam do tego doszedłem.

kod działający:

@echo off
:Podstawowe_paramety
set MB=Wzor\4MB
set g=0
:loop
cls
if "%g%"=="10" goto end
set /a "g"="%g%+1"
md MMP\s%g%
xcopy>nul %MB% MMP\s%g% /y /s /e
goto loop
:end
echo ============
echo =Skopiowane=
echo ============
pause>nul

Proszę korzystać z opcji Edytuj, zamiast pisać tyle postów jeden pod drugim.

Areh