Windows批处理文件,用于将文件从特定子文件夹移动到另一个文件夹

时间:2015-09-13 21:14:43

标签: batch-file

我是一名php开发人员,我对Windows批处理文件一无所知。 也许有人会帮助我......

我有一个像这里的目录结构:

directory1/1/
directory1/2/
directory1/5/
directory2/1/
directory2/2/
directory2/5/
etc...

如何编写将执行以下操作的bat文件: - 移动所有子目录中的所有文件' 1'进入另一个目录

我试过这个

pushd %CD%\in\
for /r %%a in (*.*) do (
 echo COPY "%%a" "%CD%\out\%%~nxa"
)
popd

但是此代码会从""中获取所有文件。文件夹并将它们复制到" out"夹。我如何在这里确定子目录?

1 个答案:

答案 0 :(得分:0)

您可以使用此批处理命令执行此操作:

@echo off
::Set Directory
set Dir=%CD%\in
::Set Destination
set Des=%CD%\out
::Set Sub Directory you want to move
set SubDir=1
if exist "%Dir%\*" (
    if not exist "%Des%\*" mkdir "%Des%"
    for /D %%a in ("%Dir%\*.*") do (
        for /D %%b in ("%%a\*.*") do (
            if "%%~nxb" EQU "%SubDir%" ROBOCOPY "%%b" "%Des%\%%~nxa\%%~nxb" /E /IS /MOVE>Nul
        )
    )
)