我是一名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"夹。我如何在这里确定子目录?
答案 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
)
)
)