Сделал батник, который содаёт и обновляет резервную копию рабочего каталога.
Хочу дополнить его такой штукой, которая бы удаляла все файлы в резервном каталоге (и подкаталогах), отсутствующие в рабочем каталоге. Пример - переименовал файл, а на резервной копии осталось старое имя...
Ну вообще условия в командных файлах поддерживаются. Там даже можно делать довольно сложные мат. вычисления.
Условие выглядит так:
Сообщение от :
if condition (
rem Команды ветки ‘then’
rem ...
) else (
rem Команды ветки ‘else’
rem ...
)
Конкретный пример использования:
Сообщение от :
@echo off
set BUILDMODE=%1
if "%BUILDMODE%" == "" (
echo FAIL: Аргумент является обязательным ^(--debug, --release^)
exit /b 1
)
rem Удаляем из аргумента все дефисы для упрощения обработки
set BUILDMODE=%BUILDMODE:-=%
if "%BUILDMODE%" == "debug" (
echo INFO: Устанавливаем debug-режим окружения
set CCFLAGS=/Od /MDd /Z7
) else (
echo INFO: Устанавливаем release-режим окружения
set CCFLAGS=/O2 /MD
)
а как из батника проверить наличие любых (*.*) файлов в одном каталоге и всех его подкаталогах, отсутствующие в другом каталоге? и если таковые существуют - удалить их?
просто не представляю как применить условие типа IF NOT EXISTS...
[Ответ]
Part!zan 14:22 24.07.2007
Берешь 2 списка файлов и сравниваешь. Cписок делается командой dir, сравнение - fc. Только я тебе точно говорю, малой кровью ты не отделаешься.
[Ответ]