LINUX.ORG.RU
ФорумTalks

[Винфак][Быдло] Bat vs. Cygwin

 ,


0

1

Задача тривиальная. Система срёт в директорию логами и бэкапами несколько раз в день. Необходимо удалить все лишние логи и бэкапы, оставив лишь по одному за день.

Проблема. Система работает под управлением ОС Шиндовс ХР.

Пытался осознать магию bat-скриптов. Непостижимо.

Таким образом вопрошаю у людей в таких вещах опытных: проще вогнать цигвин и написать скрипт на баше, или познать дао bat-файлов?

З.Ы. От цигвина сейчас удерживает лишь тот факт, что придётся держать на сервере достаточно сложную систему ради выполнения единичной тривиальной операции.

★★

Ради такой простой задачи не нужен никакой цигвинг, баш и прочие питоны.

Необходимо удалить все лишние логи и бэкапы, оставив лишь по одному за день.

В названиях файлов есть дата? Или надо ориентироваться на дату создания?

TGZ ★★★★
()

Почему не перл? ActivePerl вполне сносно работает под офтопиком. В качестве бонуса--масса готовых модулей из коробки. Только сегодня пытался из кинвина слепить конфетку виндузятникам. Остановился на том, что собранный с cpan модуль GD наотрез отказался проходить тест с png.

chg ★★★★★
()
Ответ на: комментарий от amomymous

Нет. Быдло использует vs. там, где оно ни в какую не подходит. То, что спрашивал автор, на самом деле это cmd vs bash или bat vs Born shell scripting, но то, что он спросил — не имеет особого смысла, потому что противопоставляются не совсем сравнимые вещи. Cygwin — это среда исполнения, а bat — формат командных файлов винды. Как их можно сравнивать — непонятно.

unanimous ★★★★★
()
Ответ на: комментарий от unanimous

Как их можно сравнивать — непонятно.

Видимо подразумевается все таки bash, но ТС наверное не знает, что есть bash и без cygwin'а. Но для такого рода задач смысла в использовании под виндой баша нет никакого. Все можно сделать и батником.

TGZ ★★★★
()

Есть баш для винды, я им даже пользуюсь на работе.
+mingw32, конечно.
Иначе в условиях винды не выжить.

zhuravlik ★★★★
()

можно поставить .NET и написать на C#, там csc есть, конпелятор-CLI

teddybear
()

ТС, средств VBScript тебе хватит с лихвой. Интерпретатор уже встроен. Создаешь текстовый файл, пишешь код, переименовываешь в .vbs и запускаешь даблкликом.

Neoretix
()
Ответ на: комментарий от Neoretix

Одно дело чиркануть пару строчек в батнике ( ниже ), совсем другое мудрить с vbs

@echo off

pushd "C:\Some Dir" || goto:eof

for /f "tokens=*" %%i in ('dir /b *.log') do call:1 %%~ti "%%i"
popd
goto:eof

:1

for /f "tokens=*" %%i in ('dir /b *.log') do (

    if not "%%i"=="%~3" (

        for /f %%j in ("%%~ti") do if "%%j"=="%~1" del %%i

    )
)

TGZ ★★★★
()
Ответ на: комментарий от Ramil

Так значит не сама ХР срёт?

Нет, конечно, ХР там, тфу-тфу, со своей задачей пока справляется.

ZhAN ★★
() автор топика
Ответ на: комментарий от TGZ

В названиях файлов есть дата? Или надо ориентироваться на дату создания?

Да, дата есть в имения файла, даже в адекватной форме ггггммддччмм, но это не панацея — попадаются ручные дампы и они этой маске не соответствуют. Так что надёжнее ориентироваться на дату.

ZhAN ★★
() автор топика
Ответ на: комментарий от TGZ

Снимаю шляпу. Ещё не до конца понимаю как, но это работает. Шлю лучи радости и добра.

ZhAN ★★
() автор топика
Ответ на: комментарий от ZhAN

Снобизм — тоже яркая черта быдла.

Тогда уж «небыдла», по терминологии лурка.

Кстати, никакого снобизма, голые факты: уровень владения языком чётко отражает интеллект. Все эти «ты чё, самый умный что ли?» при интеллектуальной фрустрации очень ярко характеризуют быдло. Ты вот тоже отличился: заметь, вместо того, чтобы поблагодарить меня за ликбез, полез со своими оценкам.

unanimous ★★★★★
()

Если в названии есть дата, то как будут называться дубликаты?

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.