|
zhaojianzeng
新手上路
积分 10
发帖 4
注册 2008-8-3
状态 离线
|
『楼 主』:
[求助]如何根据文件名来复制文件?
本人是做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 ]
|
|
2008-8-3 16:28 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
2 楼』:
@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
|
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2008-8-3 17:12 |
|
|
dosyenanjs
初级用户
积分 22
发帖 11
注册 2008-7-10
状态 离线
|
『第
3 楼』:
@echo off
color 3&echo,
:first
set/p no= 请输入要下载的歌曲的编号:
if exist e:\mp3\%no%*.mp3 (
xcopy/y e:\mp3\%no%*.mp3 c:\mp3\ >nul
cls&echo,&echo 下载完成 &goto first
)
cls&echo,&echo 编号错误,请重新输入&goto first
|
|
2008-8-3 17:36 |
|
|
23112656
中级用户
积分 220
发帖 99
注册 2008-6-26
状态 离线
|
『第
4 楼』:
@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
|
|
2008-8-3 18:06 |
|
|
zhaojianzeng
新手上路
积分 10
发帖 4
注册 2008-8-3
状态 离线
|
|
2008-8-3 18:13 |
|
|
zhaojianzeng
新手上路
积分 10
发帖 4
注册 2008-8-3
状态 离线
|
『第
6 楼』:
楼上的朋友,刚才我试过了,2楼的方法总是提示复制成功,其实没有复制;4楼的总试提示输入错误,也不能复制,请帮我修改一下,谢谢
|
|
2008-8-3 19:06 |
|
|
pusofalse
银牌会员
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
7 楼』:
把2楼的代码的echo copy E:\mp3\%%i D:\mp3\ 中的 echo 去掉。
|
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-8-3 19:33 |
|
|
23112656
中级用户
积分 220
发帖 99
注册 2008-6-26
状态 离线
|
『第
8 楼』:
Quote: | Originally posted by zhaojianzeng at 2008-8-3 07:06 PM:
楼上的朋友,刚才我试过了,2楼的方法总是提示复制成功,其实没有复制;4楼的总试提示输入错误,也不能复制,请帮我修改一下,谢谢 |
|
晕```是不是你给的路径有错啊?我在我这试着都好的啊.
|
|
2008-8-3 19:52 |
|
|
flyinspace
银牌会员
积分 1206
发帖 517
注册 2007-3-25
状态 离线
|
『第
9 楼』:
不能光用 findstr。。
需要完整提取数字id
|
知,不觉多。不知,乃求知 |
|
2008-8-6 04:09 |
|
|
flyinspace
银牌会员
积分 1206
发帖 517
注册 2007-3-25
状态 离线
|
『第
10 楼』:
否则出现
10—111。mp3
101--112。mp3
的时候会拷贝两首歌曲。
|
知,不觉多。不知,乃求知 |
|
2008-8-6 04:10 |
|
|
dosyenanjs
初级用户
积分 22
发帖 11
注册 2008-7-10
状态 离线
|
『第
11 楼』:
给你一个较完整的:
@echo off&color 3&echo\
:first
echo,&set/p no= 请输入要下载的歌曲的编号:
cls&if /i exist e:\mp3\%no%*.mp3 (
for /f "delims=." %%i in ('dir /b e:\mp3\%no%*.mp3') do (
if /i "%%i" equ "%no%" (xcopy/y "e:\mp3\%%i.mp3" c:\mp3\ >nul
echo,&echo 正在下载 ^<^< %%i.mp3 ^>^> …… &echo 完成
) else (if /i "%%i" geq "%no%a" (xcopy/y "e:\mp3\%%i.mp3" c:\mp3\ >nul
echo,&echo 正在下载 ^<^< %%i.mp3 ^>^> …… &echo 完成
) else (if /i "%%i" leq "%no% " (xcopy/y "e:\mp3\%%i.mp3" c:\mp3\ >nul
echo,&echo 正在下载 ^<^< %%i.mp3 ^>^> …… &echo 完成
) ) ) )
goto first
)
cls&echo,&echo 编号错误,请重新输入&goto first 避免了楼上提出的问题
|
|
2008-8-6 16:27 |
|
|
zhaojianzeng
新手上路
积分 10
发帖 4
注册 2008-8-3
状态 离线
|
『第
12 楼』:
不好意思,这两天出门了,今天回来弄好了,就是用2楼的方法去掉echo后,再把歌曲放到“ ”里面就行了,不然遇到有空格的歌曲名就不能下载了,一会去试试11楼的方法,好的话再回来顶你,谢谢各位了
|
|
2008-8-7 18:52 |
|