Войти

Показать полную графическую версию : [решено] Скрипт копирования


Corecess
28-11-2019, 22:42
Здравствуйте! Я в самом начале изучения скриптов, есть вот такой скрипт

@echo off
cd /d "%~dp0"

set "datefldr=%date%"

if not exist "%datefldr%" md "%datefldr%"
copy "D:\temp\test-01.csv" "%datefldr%" /y
exit /b

Здесь в D:\temp\ создается папка с датой и в нее копируется файл test-01.csv из этого же каталога. Т.е. все происходит внутри D:\temp\.
Подскажите, пожалуйста, как сделать, что б при повторном запуске в созданную папку снова копировался этот файл, но не с заменой, а добавлялось окончание? Буду очень благодарна!

alpap
28-11-2019, 23:17
@echo off
set "d=D:\temp"
set "f=test-01.csv"

if not exist "%~dp0%date%" md "%~dp0%date%"
call :#copy "%~dp0%date%" "%d%\%f%"
pause& exit

:#copy
setlocal
pushd "%~1"
if not exist "%~n2%n%%~x2" (>nul copy "%~2" "%~n2%n%%~x2") else (set /a n+=1& goto #copy)
popd
endlocal
exit /b

Iska
28-11-2019, 23:58
Здесь в D:\temp\ создается папка с датой и в нее копируется файл test-01.csv из этого же каталога. Т.е. все происходит внутри D:\temp\. »
Нет. Каталог создаётся в том же каталоге, где расположен пакетный файл. И туда же копируется файл.

Corecess
29-11-2019, 14:02
Iska, ну да, я это и имею ввиду. У меня бат находится в D:\temp\, Здесь все и создается.

Iska
29-11-2019, 22:13
<fn »
«Бат» :).

Iska, ну да, я это и имею ввиду. »
Неважно, что Вы имеете в виду. Важно, что это совсем не так.

Corecess
30-11-2019, 00:21
alpap, спасибо большое за помощь! :-)




© OSzone.net 2001-2012