我需要一个命令从Windows CLI运行,以识别只包含一个文件的任何文件夹(或子文件夹)。如果文件夹包含两个文件,则不应包含该文件。最后,我希望将单个文件移动到另一个文件夹并删除原始文件夹。
我找到了这段代码,但我不知道如何从这里开始......
@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
)
我感谢任何帮助。
感谢。
答案 0 :(得分:1)
您可以使用Robocopy过滤文件夹,只包含一个文件。它只被过滤一次 - 而不是几次。像往常一样移动和删除。
for /f "tokens=1*" %%C in ('
robocopy /L /s "d:\base\folder" ".. ListFolders ..\\" /njh /nc /nfl /njs ^
^|findstr /irc:" 1..:" ^|sort /r ') do @echo move %%D* D:\Dest && echo rd %%D