我正在尝试制作一个bat文件,启动时会打开一个媒体文件并在x-mill毫秒后关闭。
mediaplay [播放时间] [音频文件]
我正在尝试使用nircmd的媒体播放命令,但它无法识别它。我在cmd中尝试了以下代码。
C:\Users\Lind>mediaplay 10000 "C:\Users\Lind\Music\1.mp3"
'mediaplay' is not recognized as an internal or external command,
operable program or batch file.
我也试过这个,但没有发生任何事情
C:\Users\Lind>nircmd.exe mediaplay 10000 "C:\Users\Lind>Music>1.mp3"
********* ********更新****************************
我发现我在mp3文件目录名中犯了一个错误,现在只是说
C:\Users\Lind>nircmd.exe mediaplay 10000 "C:\Users\Lind>Music\1.mp3"
Access is denied.
我尝试过使用cmd作为管理员,但后来没有任何反应。
答案 0 :(得分:1)
如果您未提供nircmd.exe
的位置,则需要确保nircmd.exe
位于当前目录或%PATH%
下定义的位置:
以下是您的一个例子:
@Echo Off
Rem MediaPlay command
Set "mp="C:\Users\Lind\Utilities\NirSoft\nircmd.exe" MediaPlay"
Rem MusicFile location
Set "mf=C:\Users\Lind\Music\1.mp3"
Rem MilliSeconds
Set "ms=10000"
Rem Start it
Start "" %mp% %ms% "%mf%"
只需根据需要更改 =
后的三个Set
语句的值(但不要删除或更改任何 { {1}} 强>' S)
注意: "
和nircmd.exe
都被大多数防病毒/反恶意软件程序标记为潜在的安全威胁。如果您有其中一个,那么您必须查看是否可以在安全软件中运行它。
答案 1 :(得分:0)
为了执行任何外部命令(即任何不在cmd.exe
内部的命令),您需要执行以下操作之一:
指定可执行文件的准确位置(例如,使用"c:\wherever\your\mediaplay\is located\mediaplay"
代替mediaplay
(如果路径或可执行文件名称包含空格之类的分隔符,则需要引号))
将mediaplay
的目录名包含在path
变量中。这可以通过使用Control Panel>System>Advanced System Settings>Advanced>Environment Variables
永久性地完成,或者最好使用Path Editor
之类的专用编辑器,或者通过在that path;
前面添加path
变量来临时使用mediaplayer
。批量或手动提示。
使用三行“pushd mediaplayerdirectoryname ”,“mediaplayer ...”,“popd”(全部没有引号)
导航到path
目录> 最后一种方法是第二种方法的一种特殊情况,它使用windows的可执行搜索策略首先在当前目录中查找可执行文件,然后依次在function hasMatch( function , list) {
// actually calling the function next line
if (function (list)=== true ){
return true}
else return false;
}
变量中指定的每个目录中查找找到了可执行文件。