![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 15:01 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]批处理for /r遇到的问题:如何全盘分区遍历mp3文件 |
| 可打印版本 822 / 5 |
| 第1楼 slx8528 | 发表于 2009-03-18 00:52 |
| 初级用户 发帖 39 积分 38 | |
|
[求助]批处理for /r遇到的问题:如何全盘分区遍历mp3文件 我用for /r搜索硬盘所有分区的mp3文件,出现“不能有d”,set命令和for命令不是很好,看看哪里错了,应该怎么写?谢谢!
代码如下: @echo off set var=c d e f for /r %var% %%i in (*.mp3) do echo %%i pause [ Last edited by slx8528 on 2009-3-18 at 02:02 ] |
|
| 第2楼 newxso | 发表于 2009-03-18 01:09 |
| 初级用户 发帖 101 积分 73 来自 GZ | |
|
(RE:4楼) 在 cd /? 和 for /? 的信息中有详细说明。 cd /d 就是改变当前的驱动器和目录(cd /d e:\test 相当于 e: 和 cd test 两行命令的组合),由于没有文件夹,以上句子可以把 cd/d %%a:\ 换成 %%a: 另外,可以用 pushd 命令使 %%a: 成为当前目录,并且可以用 popd 来取消 pushd 的操作,还原原来目录: 看到好处?就是创建的文本不需要加入路径(在与批处理相同目录下生成)。 在 for 语句中: %%~i - 删除 %%i 中的所有引号 %%~fi - 将 %%i 扩充到一个完全合格的路径名 %%~di - 仅将 %%i 扩充到一个驱动器号 %%~pi - 仅将 %%i 扩充到一个路径 %%~ni - 仅将 %%i 扩充到一个文件名 %%~xi - 仅将 %%i 扩充到一个文件扩展名 %%~si - 扩充的路径只含有短名 %%~ai - 将 %%i 扩充到文件的文件属性 %%~ti - 将 %%i 扩充到文件的日期/时间 %%~zi - 将 %%i 扩充到文件的大小 %%~dpi - 仅将 %%i 扩充到一个驱动器号和路径 %%~nxi - 仅将 %%i 扩充到一个文件名和扩展名 %%~fsi - 仅将 %%i 扩充到一个带有短名的完整路径名 例如,可以用 echo.%%~nxb 只获取MP3文件名和扩展名,用 %%~zb 来检测MP3文件的大小等。 [ Last edited by newxso on 2009-3-18 at 08:05 ] |
|
| 第3楼 netbenton | 发表于 2009-03-18 01:28 |
| 银牌会员 发帖 752 积分 1,916 来自 广西 | |
|
for %%a in (c d e f) do (call :sub %%a)
goto :eof :sub for /r %1:\ %%b in (*.mp3) do echo.%%b |
|
| 第4楼 slx8528 | 发表于 2009-03-18 02:18 |
| 初级用户 发帖 39 积分 38 | |
|
是双层循环,我测试一下,很好!
麻烦你能能帮我大概解释一下,好吗?尤其是:cd/d %%a:\那一点,更改目录cd/d不大懂的,还有:echo/%%~fb, 谢谢! |
|
| 第5楼 slx8528 | 发表于 2009-03-18 02:19 |
| 初级用户 发帖 39 积分 38 | |
|
是双层循环,我测试一下,很好!
麻烦你能能帮我大概解释一下,好吗?尤其是:cd/d %%a:\那一点,更改目录cd/d不大懂的,还有:echo/%%~fb, 谢谢! |
|
| 第6楼 zerayro | 发表于 2009-04-05 05:09 |
| 新手上路 发帖 7 积分 10 | |
|
学习了,for这块还不是太明白呢
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |