КИТА unofficial

Ваши интересы => Викторины и конкурсы => Тема начата: vimmax от Октябрь 02, 2007, 12:36:37



Название: Искусство программирования (задача 9)
Отправлено: vimmax от Октябрь 02, 2007, 12:36:37

Напишите скрипт для Windows (или DOS SHELL) который будет находить в директории /TEMP файлы по маске <*.obj> и удалять их. Удаление файлов должно происходить как в текущей директории так и в поддиректориях рекурсивно.

Победителем будет автор самого короткого скрипта.  ;)


Название: Re: Искусство программирования (задача 9)
Отправлено: vimmax от Октябрь 02, 2007, 04:57:00

Ну ?? Заржавели ??
А я еще хотел задачки с ТопКодера вам подкидывать ...


Название: Re: Искусство программирования (задача 9)
Отправлено: Sochin от Октябрь 02, 2007, 06:18:37
Не пишу скрипты для винды, это к админам. ))


Название: Re: Искусство программирования (задача 9)
Отправлено: LazarusLong от Октябрь 02, 2007, 10:36:57
Немудрено

del /S /Q %TEMP%\*.obj

Переменная окружения TEMP установленна в C:\TEMP. В директории C:\TEMP созданы: файл 1.obj, папка 111, файл 111\2.obj.
Результат выполнения команды - удалились файлы 1.obj, 111\2.obj.
Что и было нужно.
Если я правильно понял ;)


Название: Re: Искусство программирования (задача 9)
Отправлено: naxellar от Октябрь 02, 2007, 11:25:48
Немудрено

del /S /Q %TEMP%\*.obj

Переменная окружения TEMP установленна в C:\TEMP. В директории C:\TEMP созданы: файл 1.obj, папка 111, файл 111\2.obj.
Результат выполнения команды - удалились файлы 1.obj, 111\2.obj.
Что и было нужно.
Если я правильно понял ;)
А под нее допустим F:\es\TEMP не подходит каталог?


Название: Re: Искусство программирования (задача 9)
Отправлено: LazarusLong от Октябрь 02, 2007, 11:34:23
каталог указанный в переменной окружения TEMP может быть любым. Я не имел ввиду, что мой скрипт работает только для этой директории. Как видишь, у меня там нет привязки к какой-либо директории. Я просто описал в каких условиях  проверял его работу. Будет работать для любого каталога, если его путь предварительно записать в переменную окружения TEMP


Название: Re: Искусство программирования (задача 9)
Отправлено: naxellar от Октябрь 02, 2007, 11:36:02
каталог указанный в переменной окружения TEMP может быть любым. Я не имел ввиду, что мой скрипт работает только для этой директории. Как видишь, у меня там нет привязки к какой-либо директории. Я просто описал в каких условиях  проверял его работу. Будет работать для любого каталога, если его путь предварительно записать в переменную окружения TEMP
Меня опять клинит. Спутал из SQL %TEMP% -- доллары там шо хочешь означают вроде


Название: Re: Искусство программирования (задача 9)
Отправлено: LazarusLong от Октябрь 02, 2007, 11:37:56
% в командной строке означают обращение к переменной окружения.


Название: Re: Искусство программирования (задача 9)
Отправлено: naxellar от Октябрь 02, 2007, 11:39:41
% в командной строке означают обращение к переменной окружения.
Та я уже понял


Название: Re: Искусство программирования (задача 9)
Отправлено: vimmax от Октябрь 03, 2007, 10:04:39

LazarusLong молодец +1.
Когда я столкнулся с этой задачей (надо было постирать все объектники), то начал соединять команды find и del в одну строку.
А потом упростил до одной команды del.

Думал вы пойдете по тому же пути )))))


Название: Re: Искусство программирования (задача 9)
Отправлено: LazarusLong от Октябрь 03, 2007, 10:10:52
Гораздо интереснее задача, создать батник, который бы запускаясь каждый день в шедулере создавал бы папку вида: YYYYMMDD соответственно годмесяцдень. Но я сейчас точного решения не помню, поэтому выставлять не буду в качестве викторины. Хотя кто напишет ответ - получит плюс. Да, WMI испльзовать, естественно, нельзя. Только команды DOS.