Старый 23.07.2007, 22:54   #1   
Роман
 
Аватар для timex
 
Сообщений: 429
Регистрация: 04.06.2004
Возраст: 43

timex вне форума Не в сети
проверка условия в bat-файле

Сделал батник, который содаёт и обновляет резервную копию рабочего каталога.
Хочу дополнить его такой штукой, которая бы удаляла все файлы в резервном каталоге (и подкаталогах), отсутствующие в рабочем каталоге. Пример - переименовал файл, а на резервной копии осталось старое имя...

Как такое забацать?
  Ответить с цитированием
Старый 23.07.2007, 23:39   #2   
Форумец
 
Сообщений: 1
Регистрация: 22.07.2007
Возраст: 41

FireByte вне форума Не в сети
Ну вообще условия в командных файлах поддерживаются. Там даже можно делать довольно сложные мат. вычисления.
Условие выглядит так:
Цитата:
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
)
Взято из rsdn.ru
  Ответить с цитированием
Старый 24.07.2007, 00:13   #3   
Out There
 
Аватар для Part!zan
 
Сообщений: 5,910
Регистрация: 13.12.2004
Возраст: 47

Part!zan вне форума Не в сети
timex, поставь себе SVN и не парься.
  Ответить с цитированием
Старый 24.07.2007, 10:22   #4   
Роман
 
Аватар для timex
 
Сообщений: 429
Регистрация: 04.06.2004
Возраст: 43

timex вне форума Не в сети
а как из батника проверить наличие любых (*.*) файлов в одном каталоге и всех его подкаталогах, отсутствующие в другом каталоге? и если таковые существуют - удалить их?

просто не представляю как применить условие типа IF NOT EXISTS...
  Ответить с цитированием
Старый 24.07.2007, 14:22   #5   
Out There
 
Аватар для Part!zan
 
Сообщений: 5,910
Регистрация: 13.12.2004
Возраст: 47

Part!zan вне форума Не в сети
Берешь 2 списка файлов и сравниваешь. Cписок делается командой dir, сравнение - fc. Только я тебе точно говорю, малой кровью ты не отделаешься.
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind