如何批处理查找复制相同文件名的不同后缀文件到该文件夹下

在桌面上有A.txt ,B.txt, C.txt....和A.doc,B.doc,C.doc....等诸多文件,现在需要将A.txt和A.doc这两个文件放在桌面上的A这个文件夹中,B.tx]和B.doc放入B这个文件夹!...
该如何来设计批处理程序呢?

已有人实现

2011-3-9 21:59 wkdxz | 十二级
::在桌面运行批处理即可
@Echo off&title wkdxz @ BAT-GO At:2011-03-09 21:51:14
::自定义文件后缀名
set a=txt
set b=doc
for /f "delims=" %%a in ('dir /b/a-d *.%a%') do if exist ".\%%~na.%b%" md ".\%%~na\" 2>nul&move "%%a" ".\%%~na\" 2>nul&move ".\%%~na.%b%" ".\%%~na\" 2>nul
pause

我想问的是,如何增加到多个
如A.txt ,B.txt, C.txt....和A.doc,B.doc,C.doc....还有A.jpgt,B.jpg, C.jpg....和A.mp3,B.mp3,C.mp3.... 等等都复制到相应的A文件夹,B文件夹,C文件夹

我给你两种批处理吧,第一种是固定文件个数的,打开后全自动运行,另外一种是文件个数不固定,让用户手动键入文件名。
第一种,已知文件名的个数固定,全自动:
@echo off
md C:\"Documents and Settings"\Administrator\桌面\A
copy C:\"Documents and Settings"\Administrator\桌面\A.* C:\"Documents and Settings"\Administrator\桌面\A
※如果路径是在桌面的话,注意你的用户名,我这里是Administrator。文件名为B、C等的文件遵循以上命令也可实现。不过我相信你不是要问那么简单的问题吧...我想以下才是LZ你想要的...
第二种,文件个数不固定,让用户手动输入文件名:
@echo off
:2
set /p a=请在此处输入文件名(不包括扩展名
if exist C:\"Documents and Settings"\Administrator\桌面\%a%.* (goto 1) else echo 所指文件不存在,请重新输入&goto 2
:1
if exist C:\"Documents and Settings"\Administrator\桌面\%a% (echo 桌面上已存在所指文件夹,请移动或退出&goto 4) else goto 3
:4
set /p z=移动后请按1继续,也可以按其他键退出
if "%z%"=="1" goto 1
if "%z%" NEQ "1" goto exit
:3
md C:\"Documents and Settings"\Administrator\桌面\%a%
copy C:\"Documents and Settings"\Administrator\桌面\%a%.* C:\"Documents and Settings"\Administrator\桌面\%a%
set a=
echo 所指文件已处理完毕,是否要处理其他的文件?
set /p c=输入1继续处理,输入其他键退出
if "%c%"=="1" goto 2
if "%c%" NEQ "1" goto exit
※有A、B、C等多个文件时用,比如说要处理A文件,就根据提示输入。如果不存在所指文件,会提示你重新输入文件名。已测试可用...
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-29
@for %%i in (a b c d e f g h) do @copy %%i.% %%i追问

不明白啊

相似回答