找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: aries215

[文件操作] [已解决]拖入WAV并播放的批处理错在哪里?

[复制链接]
发表于 2010-10-15 10:45:37 | 显示全部楼层
不好意思,没试过,直接写上去的,现在可以用了,不用磕头拜谢了!~
 楼主| 发表于 2010-10-15 10:59:24 | 显示全部楼层

回复 16楼 的帖子

呃~ 好像还有问题,如果去掉“pause”,双击批处理后,CMD窗口一闪就就没了。
我不会复杂的批处理,你有空的时候帮我写个完整的吧~!嘻嘻~

[ 本帖最后由 aries215 于 2010-10-15 11:02 编辑 ]
 楼主| 发表于 2010-10-15 11:11:50 | 显示全部楼层
那个命令行工具应该不支持连续播放的,放完就停在那里了,感觉TX_kakashi 兄的代码已经很好用了。
发表于 2010-10-15 11:46:53 | 显示全部楼层

回复 17楼 的帖子

真服了你了,去掉pause不是直接退出了嘛?那肯定一闪而过啊!~
假如你拖入的只是一个文件可能直接播放,假如你拖入的是一大堆东西你肯定还得用for才能逐个取出来,你都没深入尝试怎么就说一闪而过了呢?
算了,我也一闪而过吧!~
 楼主| 发表于 2010-10-15 12:10:10 | 显示全部楼层
不去掉pause,双击后直接显示“请按回车键继续...”,去掉后窗口一闪就没了,我都没机会拖入任何文件。
我一直都只是测试单个文件。也许你提供的代码还要修改才能用的,这对于我来说有难度,所以没办法深入尝试。
占用你的时间不好意思!
 楼主| 发表于 2010-10-15 12:13:57 | 显示全部楼层
以我有限的水平,你这个批处理应该能实现:显示所拖入的文件。
可是我使用的结果是,窗口一闪就没了,我根本没机会拖入文件。
我承认我不会修改~
发表于 2010-10-15 13:02:36 | 显示全部楼层
送佛送到西,好人做到底吧!~

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set tsr=%*
  4. if defined tsr (
  5. for /f "tokens=*" %%a in ("!tsr!") do  (
  6.     for  %%i in (%%a) do if exist %%i title "%%~i"&player.exe "%%~i"  
  7. )                                 
  8. )
  9. pause

复制代码

我还是没试过,你试了再跟我说。

评分

参与人数 1技术 +1 收起 理由
aries215 + 1 乐于助人! 拖拉至批处理图标的代码用途很广 ...

查看全部评分

发表于 2010-10-15 13:03:17 | 显示全部楼层
再强调一下,是拖拉至程序图标,不是拖拉至打开的窗口!~
 楼主| 发表于 2010-10-18 11:07:54 | 显示全部楼层
多谢楼上的耐心,我明白了。
但是结果还是一样,无法播放。
 楼主| 发表于 2010-10-19 21:05:29 | 显示全部楼层

问题没有完全解决

用的是8楼的代码。

问题是这个脚本不支持特殊文件名:
1、带空格的话会显示找不到文件(连错误提示也是乱码!),我发现改用ECHO命令会看见实际用了两次双引号;
2、带特殊符号的话拖入后一回车CMD窗口就消失!

求修正
 楼主| 发表于 2010-10-19 21:21:24 | 显示全部楼层

回复 22楼 的帖子

这种拖入方法不通用吧?用“ECHO”命令可以,但具体换成“yoyotu.exe”播放器就不行了。

提示:
'yoyotu.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。

[ 本帖最后由 aries215 于 2010-10-19 21:23 编辑 ]
发表于 2010-10-19 22:29:00 | 显示全部楼层

回复 26楼 的帖子

本,换成程序完整路径名,你换成“yoyotu.exe”肯定不行啊!~
 楼主| 发表于 2010-10-20 00:55:44 | 显示全部楼层
改成下面这样就成功了:
  1. @echo off
  2. :start
  3. cls
  4. echo.
  5. setlocal ENABLEDELAYEDEXPANSION
  6. set /p File=请拖入WAV文件:
  7. if defined File (
  8. for /f "tokens=*" %%a in ("!File!") do (
  9.         for  %%i in (%%a) do if "%%~xi"==".wav" "%~dp0yoyotu.exe" "ASIO4ALL v2" "%%~i"
  10.         )
  11. )
  12. endlocal
  13. goto start
复制代码
因为音乐文件位于好几个不同的目录,拖入图标的话有时候有点麻烦,所以改成拖入窗口的方式。
 楼主| 发表于 2010-10-20 21:31:32 | 显示全部楼层
不知道我上面这样写有没有语法问题?
发表于 2010-10-20 21:50:31 | 显示全部楼层

回复 29楼 的帖子

你厉害!~教教我怎么把多个文件同时拖入窗口(非程序图标)?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 06:50 , Processed in 0.025484 second(s), 11 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表