Windows 批处理文件-仅当目录名中有2个字符串时运行

Windows 批处理文件-仅当目录名中有2个字符串时运行,windows,batch-file,cmd,Windows,Batch File,Cmd,我需要将所有文件从所有子目录移动到根目录,只有当目录名没有已发送的文件或文件时。有什么帮助吗 for /r "c:\example" %1 in (.) do if /i not "%~nx1"=="Sent" move "%~f1\*.txt" "c:\example" 如果相同的文件名出现在多个子文件夹中,您希望。。。什么?子目录下没有目录。:)谢天谢地。好的,正在移动文件,但仍在从“发送”或/和“文件”目录中移动。是否将其用作批处理文件?这在命令行中不起作用。是的,在批处理文件中。 @e

我需要将所有文件从所有子目录移动到根目录,只有当目录名没有已发送的文件或文件时。有什么帮助吗

for /r "c:\example" %1 in (.) do if /i not "%~nx1"=="Sent" move "%~f1\*.txt" "c:\example"

如果相同的文件名出现在多个子文件夹中,您希望。。。什么?子目录下没有目录。:)谢天谢地。好的,正在移动文件,但仍在从“发送”或/和“文件”目录中移动。是否将其用作批处理文件?这在命令行中不起作用。是的,在批处理文件中。
@echo off
setlocal EnableDelayedExpansion

set unwanted=\sent\files\
for /R "c:\example" %%a in (.) do if "!unwanted:\%%~Na\=!" == "%unwanted%" move "%%a\*.txt" "c:\example"