批处理脚本:根据源文件夹名称

时间:2017-02-07 14:19:42

标签: batch-file command-line

我已经阅读了几个类似主题的问题,但似乎没有涉及这种情况。

我希望使用批处理文件来检查目录是否为空,如果它包含文件,请将它们移动到相应的文件夹。然后,它将检查第二个目录,并执行相同的操作但不同的相应文件夹。

例如:

检查C:\ One是否包含文件,如果它确实将所有内容移动到C:\ Receive \ One

此时(或者如果C:\ One为空)它将移动并检查C:\ Two是否包含文件。如果是,它会将所有文件移动到C:\ Receive \ Two并停止脚本。如果C:\ Two为空,则脚本也将停在这里。

目前我正在使用两个脚本,所以只关心是否有办法用一个脚本更简洁。

@echo off
for /F %%i in ('dir /b "c:\one\*.*"') do ( 
    move C:\One\* C:\Receive\One 
    goto :EOF 
)
echo No Files To Move

1 个答案:

答案 0 :(得分:0)

在我看来,这只是一个简单的举动,分为两行:

move C:\One\*.* C:\Receive\One\
move C:\Two\*.* C:\Receive\Two\

或者,如果你真的需要在批处理循环中这样做:

for %%a in (One Two) do (
    move C:\%%a\*.* C:\Receive\%%a\
    if ERRORLEVEL 1 echo No files to move from %%a
)