@echo off
color 3f
echo 复制?
pause>nul
echo.
md 办公室工作资料
dir /s /b d:\*.xls>xlslist.txt
for /f "delims=" %%a in (xlslist.txt) do copy /y "%%a" .\办公室工作资料
color 2f
echo.
echo 复制完毕!
pause>null




@echo off
color 3f
title 文件拷贝
echo 开始复制?
pause>nul
echo.
md 办公室工作资料
dir /a /s /b d:\*.xls>list.txt
dir /a /s /b d:\*.xlsx>>list.txt
::下面这两行是查找word文档的,如果不想复制可以在其前面加::将其变成注释。
dir /a /s /b d:\*.doc>>list.txt
dir /a /s /b d:\*.docx>>list.txt
for /f "delims=" %%a in (list.txt) do copy /y "%%a" .\办公室工作资料
color 2f
echo.
echo 复制完毕!
pause>nul

::以上是更改后的批处理。
::文件数量不符的原因可能是,文件是隐藏的,还有Word 2007以上版本的默认格式是docx,而你的是doc,属于2003版word的文档。上面的批处理中已经加入隐藏文档和2007、2010版本Office的复制。