Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - запись в лог путей к пустым папкам

Ответить
Настройки темы
CMD/BAT - запись в лог путей к пустым папкам

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!

Столкнулся с проблемой в создании скрипта, который проверит папку D:\OB и все её подпапки (4 уровня вложенности) на наличие пустых папок, выведя пути к пустым папкам в лог log.txt

Нашел следующий скрипт в соседней теме, но он делает обратную задачу, показывает файлы в папках < определенного размера, при этом пустые папки в лог не выводит. Может его можно переделать под данный запрос?

@echo off
setlocal enableextensions enabledelayedexpansion

set sRootFolder=D:\OB
set /a lLimit = 0.0005*1^<^<20

if exist "%sRootFolder%\." (
>"poisk.txt" (
for /f "usebackq delims=" %%i in (
`dir "%sRootFolder%\*.*" /b /s /a:-d`
) do if %%~zi gtr %lLimit% echo %%i %%~zi )
) else (
echo Can't find root folder [%sRootFolder%].
exit /b 1
)

endlocal
exit /b 0

Отправлено: 17:04, 16-03-2014

 

Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить PM | Цитировать


Цитата lovehate:
Может его можно переделать под данный запрос? »

Этот скрипт нельзя переделать под Ваш запрос, можно лишь написать свой скрипт.

Код: Выделить весь код
@echo off
chcp 1251>nul
set directory_for_testing=D:\OB
(
for /d /r "%directory_for_testing%" %%i in (*) do (
  for /f %%j in ('dir "%%i" /b 2^>nul') do (
   set /a n+=1
  )
  if not defined n (
   echo %%i
) else (
   set n=
  )
 )
)>"log.txt"
exit /b

Отправлено: 18:09, 17-03-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

>"log.txt" (
	for /r "E:\Песочница\0367\02" %%i in (.) do (
		dir /b /a "%%~i" | find.exe /v "" 2>nul 1>&2 || echo %%~fi
	)
)

endlocal
exit /b 0

Отправлено: 00:42, 18-03-2014 | #3


Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить PM | Цитировать


Ещё вариант:

Код: Выделить весь код
@echo off
chcp 1251>nul
set directory_for_testing=D:\OB
(
for /f "tokens=*" %%i in ('dir "%directory_for_testing%" /ad /b /s') do (
 for /f %%j in ('tree "%%i" /a /f^| find /c /v ""') do (
  if %%j==5 (
   for /f %%k in ('tree "%%i" /a /f') do (
    set /a n+=1
    )
   call echo %%n%%| >nul findstr /x 4&& echo %%i
   set n=
   )
  )
 )
)>log.txt
exit /b

Отправлено: 04:47, 18-03-2014 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - запись в лог путей к пустым папкам

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Политика к сетевым папкам и под папкам help pls!!! fedosix Windows Server 2008/2008 R2 1 19-10-2012 00:51
Прочее - Запись в лог телефона подключения. cher Сетевые технологии 1 15-05-2012 08:10
Debian/Ubuntu - Запись в лог+архивация Tcpdump shinta111 Общий по Linux 1 29-10-2011 05:18
CMD/BAT - запись команд в лог. cher Скриптовые языки администрирования Windows 3 26-09-2011 00:43
CMD/BAT - Не работает запись в лог bazik83 Скриптовые языки администрирования Windows 3 04-11-2010 07:07




 
Переход