информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыSpanning Tree Protocol: недокументированное применениеПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / operating systems
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
тоже верно 20.01.05 11:09  Число просмотров: 2004
Автор: LLL <Алексей> Статус: Member
Отредактировано 27.01.05 10:54  Количество правок: 1
<"чистая" ссылка>
Но зато он вроде эквивалентен "утерянному" функционалу конструкции exist.
Значит надо будет выбирать один из этих двух вариантов под конкретную ситуацию.
В любом случае всем откликнувшимся спасибо!

P.S. Вчерашнее замечание про ключик /a у dir'а прибил за ненадобностью (забыл за неделю, что про это уже было упомянуто).
<operating systems>
[NT] cmd.exe: проверка каталога на пустоту 19.01.05 12:36  
Автор: LLL <Алексей> Статус: Member
<"чистая" ссылка>
В старые добрые времена в языке command.com работала конструкция
if exist путь\*.* echo каталог не пуст
В ОСях линейки NT почему-то для истинности приведенного условия достаточно наличия даже пустого каталога. Налицо отсутствие совместимости снизу вверх :-(
Существует ли для NT-систем метод проверки в bat-файлах каталога на пустоту без использования программ, не входящих в поставку ОСей?
можно поизвращаться ;) 19.01.05 14:24  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
dir /b d:\TestDir >ls
type nul >zero
fc /b ls zero >nul
if errorlevel 1 echo The directory is not empty.
del zero
del ls
вот за это спасибо! 19.01.05 20:06  
Автор: LLL <Алексей> Статус: Member
<"чистая" ссылка>
> dir /b d:\TestDir >ls

Это замечательная мысль.

> type nul >zero

Не по душе мне название zero, ибо /dev/zero обычно содержит более нуля байтов, причем намного ;-)
Обзову файл empty, да еще и не буду его каждый раз пересоздавать -- пущай прямо в каталоге с проектом валяется (тем более, что блоков данных на диске не занимает :-) ).

> fc /b ls zero >nul

Попробовал тут zero на nul заменить, но fc слишком много на себя берет, отказываясь работать с файлом nul :-(
проще так ;-)) 19.01.05 15:14  
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
<"чистая" ссылка>
rmdir TestDir
if errorlevel 1 echo directory is not empty
if errorlevel 0 mkdir TestDir && echo directory is empty
не, деструктивный метод -- не наш метод :-) 19.01.05 19:56  
Автор: LLL <Алексей> Статус: Member
<"чистая" ссылка>
> rmdir TestDir

1. Никто не говорил, что при проверке будут полномочия удалять каталог (обратное, правда, тоже не утверждалось, но универсальные методы обычно лучше.
2. При удалении потеряются прикрепленные к каталогу атрибуты (в т.ч. права доступа).
А может так?: 19.01.05 20:52  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
@echo off
for %%f in (mydir\*.*) do goto found
echo Directory is empty
goto exit
:found
echo Directory is not empty
:exit
Этот способ не сработает, если в директории будут скрытые... 20.01.05 10:14  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
Этот способ не сработает, если в директории будут скрытые файлы (или вложенные директории). А "мой" способ в таких случаях будет работать, если добавить к команде dir флаг /a для вывода скрытых файлов.
Например файл desktop.ini? ;))) 20.01.05 21:37  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
тоже верно 20.01.05 11:09  
Автор: LLL <Алексей> Статус: Member
Отредактировано 27.01.05 10:54  Количество правок: 1
<"чистая" ссылка>
Но зато он вроде эквивалентен "утерянному" функционалу конструкции exist.
Значит надо будет выбирать один из этих двух вариантов под конкретную ситуацию.
В любом случае всем откликнувшимся спасибо!

P.S. Вчерашнее замечание про ключик /a у dir'а прибил за ненадобностью (забыл за неделю, что про это уже было упомянуто).
супер! спасибо! пока самый замечательный вариант :-) 19.01.05 21:16  
Автор: LLL <Алексей> Статус: Member
Отредактировано 19.01.05 21:19  Количество правок: 1
<"чистая" ссылка>
вот как можно сделать с проверкой скрытых файлов и папок 26.01.05 19:39  
Автор: Viran Статус: Незарегистрированный пользователь
<"чистая" ссылка>
вот как можно сделать с проверкой скрытых файлов и папок

set target=c:\targetdir
cd %target%
attrib /s /d |find /i . && goto null
cls
@echo Not Null!!!!!!!!!!!!!!!!!!
@Pause
Exit
:Null
cls
@echo Null!!!!!!!!!!!!!!!!!!
@Pause
Exit

или другой вариант, но если файлов в директории много, он будет выполнятся оооочень долго :)))

set target=c:\targetdir
cd %target%
attrib /s /d |find /v /i . >%temp%\enumdir.txt
for %%i in (%temp%\enumdir.txt) do if %%~zi==0 goto Null
cls
@echo Not Null!!!!!!!!!!!!!!!!!!
@Pause
Exit
:Null
cls
@echo Null!!!!!!!!!!!!!!!!!!
@Pause
Exit
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach