Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

If Exist - то ли лыжи не едут, то ли...

2 views
Skip to first unread message

Denis Kurochkin

unread,
Dec 13, 2005, 9:15:52 AM12/13/05
to
Hello, All!

Переношу досовские батники на XP, напоролся на странное поведение:

-------
D:\>IF EXIST D:\zzzzz\*.* echo bug
bug
-------
папка d:\zzzzz существует и пуста.

Так то же самое:
-------
D:\>IF not EXIST D:\zzzzz\*.* (pause) else (echo bug)
bug
-------

повторяется на XP/SP2 и NT4.0/SP6a
Я то конечно у себя это обойду, НО - как тогда можно узнать присутствуют ли в директории файлы?

With best regards, Denis Kurochkin. E-mail: d...@cbsd.donetsk.ua

Serge Mukhin

unread,
Dec 15, 2005, 12:38:18 AM12/15/05
to
это не ошибка, это фича.В NT всегда есть файлы . и .. Зачем - не знаю.

"Denis Kurochkin" <d...@cbsd.donetsk.ua> wrote in message
news:dnml2p$e5l$1...@linux9.udc0.cbsd.donetsk.ua...

K.Montegrass

unread,
Dec 15, 2005, 1:26:36 AM12/15/05
to
Hello, Serge!
You wrote on Thu, 15 Dec 2005 10:38:18 +0500:

SM> это не ошибка, это фича.В NT всегда есть файлы . и .. Зачем - не знаю.

Они и в DOS-е всегда были, кроме корневого каталога.
"." - текущий каталог, ".." - каталог на уровень вверх.

С уважением, Константин Монтеграсс
Администратор сети ООО "ЛУКОЙЛ-ПЕРМНЕФТЕОРГСИНТЕЗ"

e-mail: mo...@npz.perm.lukoil.com
ICQ: 10992260


Denis Kurochkin

unread,
Dec 15, 2005, 5:22:51 AM12/15/05
to
Hello, K.Montegrass!

You wrote to Serge Mukhin on Thu, 15 Dec 2005 11:26:36 +0500:

SM>> это не ошибка, это фича.В NT всегда есть файлы . и .. Зачем - не знаю.

K> Они и в DOS-е всегда были, кроме корневого каталога.
K> "." - текущий каталог, ".." - каталог на уровень вверх.

Понятно.
Тогда как определить есть ли в директории хотя бы один "настоящий" файл ?

Mikhail Petrov

unread,
Dec 15, 2005, 6:10:41 AM12/15/05
to
Hello, Denis!

You wrote to K.Montegrass on Thu, 15 Dec 2005 12:22:51 +0200:

SM>>> это не ошибка, это фича.В NT всегда есть файлы . и .. Зачем - не знаю.

K>> Они и в DOS-е всегда были, кроме корневого каталога.
K>> "." - текущий каталог, ".." - каталог на уровень вверх.

DK> Понятно.
DK> Тогда как определить есть ли в директории хотя бы один "настоящий" файл
DK> ?
Возможно дурной вариант, но вроде рабочий:
---------------------------------cut---------------------------------
set notempty=0
for %%i in (*) do set notempty=1 && goto aa
:aa
echo %notempty%
---------------------------------cut---------------------------------
правда, подкаталоги пропускаются, проверяется только наличие файлов. Наверно
можно как-то изящнее, но думать совершенно лень :)

Regards. Mike.

np: тишина, наверно Apollo забыл загрузить...


0 new messages