Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2010, 15:58   #1
igordeg
 
Регистрация: 07.11.2008
Сообщений: 5
По умолчанию Командный файл

Помогите написать командный файл. Его задача: Из заданной директории переписать указанные шаблоном файлы в заданную директорию так, что бы были переписаны только "новые" (не существующие в приемной директории) файлы.

Первую часть (Из заданной директории переписать указанные шаблоном файлы в заданную директорию) реализовал, а вот со второй проблема...

Код:
cls
echo off

	set deldir = %1
        set dir =  %2
        set file = %3
	if "%1"=="" goto :3
	if "%2"=="" goto :2
	if "%3"=="" goto :4
                                                                   

cls
    
copy/N %1\*.%3 %2\*.%3 


exit 


:2       
	echo Wrong name off file
        echo Please repeat
	pause
	exit

:3     
        echo Wrong dir
        echo Please repeat
	pause
	exit

:4
echo Error
exit
igordeg вне форума Ответить с цитированием
Старый 18.08.2012, 21:12   #2
DenisGrek
Новичок
Джуниор
 
Регистрация: 30.05.2012
Сообщений: 2
По умолчанию

не работает твой файл..
DenisGrek вне форума Ответить с цитированием
Старый 18.08.2012, 21:13   #3
DenisGrek
Новичок
Джуниор
 
Регистрация: 30.05.2012
Сообщений: 2
По умолчанию

у кого есть работающий батник по этой теме?
DenisGrek вне форума Ответить с цитированием
Старый 19.08.2012, 00:36   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вариант 1.
Код:
@echo off

REM носитель
set tmpdisk=h:\
REM Каталог приемник
SET tmpdir=temp3\
REM шаблон копируемых файлов например *.bat
set list=*.pas


for %%c in (%list%) do (
    set "file=%%c"
    set "folder=%tmpdisk%%tmpdir%"
    call :MyCopy
)
goto :eof

:MyCopy
@echo off
if exist "%folder%%file%" (
      echo "File %file% already exist."
      goto :cont
      )
rem echo "coping file: %file% to %folder%%file%"
COPY "%file%" "%folder%%file%" > nul
IF ERRORLEVEL 1 echo "Error while copying file: %file%"
:cont
goto :eof
вариант 2.
должны быть два параметра: первый - путь к исходному каталогу, второй - к каталогу назначения
Код:
@echo off

for %%c in (%1\*.pas) do (
    if not exist %2\%%~nc%%~xc  copy  %%c  %2\%%~nc%%~xc
)
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++. Прочитать файл и вывести в другой файл каждую N-ую строку Straiker Помощь студентам 3 15.12.2009 05:49
Командный файл Swatch Операционные системы общие вопросы 1 27.08.2009 10:27
Ссылка на файл из текущей папки! Сбор инфы в один файл! mephist Microsoft Office Excel 11 10.07.2009 13:51
командный интерпретатор <Dusha> Общие вопросы C/C++ 4 16.08.2008 18:27