例如:输入d:\abc
批处理文件把对应路径的 子文件夹 或 子文件夹的子文件夹 为空 的显示出来出来
可把要查找的总文件拖到批处理文件图标上,或双击运行后再输入
@echo off&echo 查找空文件夹
set dd=%~1
if "%~1"=="" set/p dd=输入或拖入要查找的总文件夹:
cd/d "%dd%"
for /f "delims=" %%a in ('dir/b/s/ad')do (
dir/a/s/b "%%a"|find/v "">nul||(set/a "fn+=1"&echo.路径 %%a 文件夹名 %%~nxa))
if defined fn (echo 共找到 %fn% 个空文件夹)else echo 没找到空文件夹
pause
再补充个把结果存到批处理位置list.txt文件里
@echo off&echo 查找空文件夹
set dd=%~1
if "%~1"=="" set/p dd=输入或拖入要查找的总文件夹:
cd/d "%dd%"
set ff="%~dp0\list.txt"
echo 查找%d% 下的空文件夹:>%ff%
for /f "delims=" %%a in ('dir/b/s/ad')do (
dir/a/s/b "%%a"|find/v "">nul||(
title 找到 %%a&set/a "fn+=1"&echo.%%a>>%ff%))
(if defined fn (echo 共找到 %fn% 个空文件夹)else echo 没找到空文件夹)>>%ff%
pause
@echo off&echo 查找空文件夹
set dd=%~1
if "%~1"=="" set/p dd=输入或拖入要查找的总文件夹:
cd/d "%dd%"
for /f "delims=" %%a in ('dir/b/s/ad')do (
dir/a/s/b "%%a"|find/v "">nul||(set/a "fn+=1"&echo.路径 %%a 文件夹名 %%~nxa))
if defined fn (echo 共找到 %fn% 个空文件夹)else echo 没找到空文件夹
pause
再补充个把结果存到批处理位置list.txt文件里
@echo off&echo 查找空文件夹
set dd=%~1
if "%~1"=="" set/p dd=输入或拖入要查找的总文件夹:
cd/d "%dd%"
set ff="%~dp0\list.txt"
echo 查找%d% 下的空文件夹:>%ff%
for /f "delims=" %%a in ('dir/b/s/ad')do (
dir/a/s/b "%%a"|find/v "">nul||(
title 找到 %%a&set/a "fn+=1"&echo.%%a>>%ff%))
(if defined fn (echo 共找到 %fn% 个空文件夹)else echo 没找到空文件夹)>>%ff%
pause
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-08-31
@echo off
set a=请输入路径
dir /a /b "%a%"|findstr .>nul&& echo 有文件||echo 没文件
pause追问
set a=请输入路径
dir /a /b "%a%"|findstr .>nul&& echo 有文件||echo 没文件
pause追问
多层文件夹。
能不能把所有的“子文件夹”和“子文件夹的子文件夹。。。” 为空的都打印出来,并显示路径,请输入路径的地方能不能在运行时候输入。谢谢。