我需要一个命令从Windows CLI运行,以识别只包含一个文件的任何文件夹(或子文件夹)。如果文件夹包含两个文件,则不应包含该文件。最后,我需要将此列表输出到文本文件。它应包含完整的文件夹路径。
Ex:OutputLog.txt
C:\fold1
C:\fold1\sub
C:\fold3
C:\fold4
答案 0 :(得分:1)
这应该可以识别带有一个文件的文件夹。
@echo off
for /d /r "d:\base\folder" %%a in (*) do (
dir /b /a-d "%%a" 2>nul |find /c /v "" |findstr "^1$" >nul && >>file.txt echo %%a
)
答案 1 :(得分:0)
@echo off
set "parentfolder=c:\test"
for /f "tokens=* delims=" %%F in ('dir /s /a:d /b "%parentfolder%"') do (
dir "%%F"|findstr /b "1 File(s)" >nul 2>&1 && echo %%F
)
这将列出父文件夹中只有一个文件的所有子文件夹。当它检查dir命令输出的字符串时,如果语言设置/ windows版本提供不同的DIR
命令输出,则应更改它。
答案 2 :(得分:0)
@echo off
setlocal EnableDelayedExpansion
(for /D /R %%a in (*) do (
set count=0
for %%b in ("%%a\*.*") do set /A count+=1
if !count! equ 1 echo %%a
)) > OutputLog.txt