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

Ответить
Аватара пользователя
lovehate

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

Сообщение lovehate »

Добрый день!



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



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



@echo off

setlocal enableextensions enabledelayedexpansion



set sRootFolder=D:\OB

set /a lLimit = 0.0005*1^
Аватара пользователя
Georgio

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

Сообщение Georgio »

Цитата lovehate:



Может его можно переделать под данный запрос?
CMD/BAT - запись в лог путей к пустым папкам






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





Код:

Код: Выделить всё

@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
Аватара пользователя
Iska

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

Сообщение Iska »

Код:

Код: Выделить всё

@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
Аватара пользователя
Georgio

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

Сообщение Georgio »

Ещё вариант:





Код:

Код: Выделить всё

@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
Ответить

Вернуться в «Скриптовые языки администрирования Windows»