@echo off
pushd d:\
set /p File=输入歌曲名:
set /p Name=输入歌星名:
for /f "delims=" %%i in ('dir /a /b /s "%File%*"') do call :Sub "%%i"
popd
pause
goto :eof
:Sub
rem 判断歌星
pushd "%~dp1"
set "CurDir=%cd%"
for %%i in ("%CurDir%") do set "CurDir=%%~ni"
popd
if not "%CurDir%" == "%Name%" goto :quit
rem 拷贝
set "NewPath=f:%~p1"
md "%NewPath%"
copy "%~1" "%NewPath%"
if not %errorlevel%==0 echo %~1 拷贝失败!
:quit
set NewPath=
set CurDir=
goto :eof
代码未测试,请酌情自行修改.
如果代码执行正确不妨建立一文本文件,然后用for去读取它的内容来替换set /p,毕竟在命令提示符下输入中文还是比较麻烦的。