中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 09:10
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何根据文件名来复制文件?
可打印版本  1,084 / 11
第1楼 zhaojianzeng 发表于 2008-08-03 16:28
新手上路 发帖 4 积分 10
[求助]如何根据文件名来复制文件?
本人是做MP3下载的,请高手们帮忙写个下载mp3的工具,具体内容如下:

我的mp3都在 E:\mp3 文件夹里,每首歌曲都已经有了编号(如:1037做你的爱人.mp3),借助这个工具,只要输入编号就可以将歌曲复制到 C:\mp3文件夹里。然后再提示输入要下载的歌曲编号。


我脑子里想的步骤大概的样子就是下面这样:

A:屏幕提示:请输入要下载的歌曲的编号
B:操作者输入号码(注:不是全文件名,只输入号码,不输入汉字)
C:计算机自动在 E:\mp3 文件夹里查找该歌曲,如果找到就复制到 C:\mp3文件夹里,没有找到就提示:编号错误,请重新输入
D:屏幕提示:下载完成,请输入要下载的歌曲的编号

[ Last edited by lxmxn on 2008-8-6 at 04:46 AM ]
第2楼 slore 发表于 2008-08-03 17:12
铂金会员 发帖 2,478 积分 5,212
@echo off
:start
echo.
set /p id=请输入要下载的歌曲的编号:
echo 正在下载……
for /f "delims=" %%i in ('dir /b E:\mp3\^|findstr "%id%"') do (
echo copy E:\mp3\%%i D:\mp3\
)
echo 下载完成!
echo.
goto :start
第3楼 dosyenanjs 发表于 2008-08-03 17:36
初级用户 发帖 11 积分 22
第4楼 23112656 发表于 2008-08-03 18:06
中级用户 发帖 99 积分 220
@echo off
:start
set /p z=请输入要下载的歌曲的编号:
dir /a /s E:\mp3\%z%.mp3 & cls
if %errorlevel%==0 (echo 正在下载编号:%z%.mp3 & copy /y %z%.mp3 >nul C:\mp3\) else echo 编号错误,请重新输入 & goto start
echo 下载成功...回车后继续...
echo.&pause>nul
goto start
第5楼 zhaojianzeng 发表于 2008-08-03 18:13
新手上路 发帖 4 积分 10
谢谢大家帮忙,我去试试
第6楼 zhaojianzeng 发表于 2008-08-03 19:06
新手上路 发帖 4 积分 10
楼上的朋友,刚才我试过了,2楼的方法总是提示复制成功,其实没有复制;4楼的总试提示输入错误,也不能复制,请帮我修改一下,谢谢
第7楼 pusofalse 发表于 2008-08-03 19:33
银牌会员 发帖 646 积分 1,604
把2楼的代码的echo copy E:\mp3\%%i D:\mp3\ 中的 echo 去掉。
第8楼 23112656 发表于 2008-08-03 19:52
中级用户 发帖 99 积分 220
Originally posted by zhaojianzeng at 2008-8-3 07:06 PM:
楼上的朋友,刚才我试过了,2楼的方法总是提示复制成功,其实没有复制;4楼的总试提示输入错误,也不能复制,请帮我修改一下,谢谢



晕```是不是你给的路径有错啊?我在我这试着都好的啊.
第9楼 flyinspace 发表于 2008-08-06 04:09
银牌会员 发帖 517 积分 1,206
不能光用 findstr。。
需要完整提取数字id
第10楼 flyinspace 发表于 2008-08-06 04:10
银牌会员 发帖 517 积分 1,206
否则出现
10—111。mp3
101--112。mp3
的时候会拷贝两首歌曲。
第11楼 dosyenanjs 发表于 2008-08-06 16:27
初级用户 发帖 11 积分 22
给你一个较完整的:

避免了楼上提出的问题
第12楼 zhaojianzeng 发表于 2008-08-07 18:52
新手上路 发帖 4 积分 10
不好意思,这两天出门了,今天回来弄好了,就是用2楼的方法去掉echo后,再把歌曲放到“ ”里面就行了,不然遇到有空格的歌曲名就不能下载了,一会去试试11楼的方法,好的话再回来顶你,谢谢各位了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023