我没有编写批处理脚本的经验,但我觉得这是一次机会。基本上,我有两个目录中具有相同周末日期的文件夹。我想编写一个循环遍历第一个目录中所有文件夹的脚本,并将文件从每个文件夹移动到另一个目录中的同一文件夹。
E.g。
\ 10.25.2.100 \ f $ \ Download \ A - 第一个目录
名为
的文件夹201310 201311 201312 201313
\ 10.25.2.100 \ d $ \ Download \ B - 第二个目录
名为
的文件夹201310 201311 201312 201313
在201310中,对于第一个目录,我想将其中的2个文件移动到201310的第二个目录。
我正在考虑修改此脚本,但我没有经验,语法意味着什么:
@ECHO OFF
SETLOCAL
SET source= \\10.25.2.100\f$\Download\A
SET destroot=\\10.25.2.100\d$\Download\B
SET cdtl=0
:loploop
SET /a cdtl+=1
FOR /f "tokens=%cdtl%*delims=\" %%i IN ("%source%") DO IF NOT "%%j"=="" GOTO loploop
FOR /f "delims=" %%i IN (
' dir /b/s/ad "%source%\converted" '
) DO CALL :movedest "%%~dpni%"
)
GOTO :eof
:movedest
SET destdir=%~1
FOR /f "tokens=%cdtl%*delims=\" %%d IN (%1) DO SET destdir=%destroot%\%%e
ECHO MD "%destdir%" 2>NUL
ECHO MOVE /y "%~1\*.*" "%destdir%\"
GOTO :eof
我认为这是一个巨大的循环,它循环遍历第一个目录中的所有文件夹并检查这两个文件,然后比较第二个目录中文件夹的周末日期。如果匹配,请将两个文件放在那里。
答案 0 :(得分:0)
看看如何:它会将移动命令回显到屏幕,检查它们并删除echo
以使批处理文件正常运行。
@echo off
pushd "\\10.25.2.100\f$\"
for /d %%a in (download\A\*) do echo move "%%a\*.*" "download\B\%%~nxa\"
popd